博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用模块以及常用方法
阅读量:5094 次
发布时间:2019-06-13

本文共 4312 字,大约阅读时间需要 14 分钟。

一、os模块

res = os.system('ifconfig')#os.system执行操作系统的命令,在不需要返回请求结果的情况下用print(res)#结果是0res1 = os.popen('ifconfig')print(res1.read())#获取到返回结果

二、sys模块

sys.argv 它是一个list,是用来获取你执行python文件的时候它的参数的,第一个元素的当前你运行的这个python文件的文件名。具体看下面的例子:

test2.py:

import os,sysinpu = sys.argvprint(inpu)if len(inpu) < 3:    print('参数错误')else:    file = inpu[1]    content = inpu[2]    f = open(file,'w')    f.write(content)

在Terminal中运行python文件,并给他传2个参数 test.txt和你好啊

 

sys.argv的结果['test2.py', 'test.txt', '你好啊'],这个list的第一个元素是当前你运行的python文件的文件名

三、random模块

print(random.random())  # 随机浮点数,默认取0-1,不能指定范围print(random.randint(1, 20))  # 随机整数print(random.choice('sdfsd233'))  # 随机取一个元素print(random.sample('hello234234史蒂夫34', 4))#从序列中随机取几个元素,返回是一个listf =random.uniform(1, 9)  # 随机取浮点数,可以指定范围x = [1, 2, 3, 4, 6, 7]random.shuffle(x)  # 洗牌,打乱顺序,会改变原list的值print(x)

四、json模块

names = {    "name":"中文",    "age":36,    "assfdf":223,    "sdfsdf":23232323,    "sdfsdf1":23232323}names_json = '{"name": "wjx", "age": 36, "assfdf": 223, "sdfsdf": 23232323, "sdfsdf1": 232323234}'with open('aaa.json','w',encoding='utf-8') as f:    res = json.dumps(names,ensure_ascii=False)#把字典转成json串  ensure_ascii=False可以显示中文    f.write(res)names1 = json.loads(names_json)print(names1)

或者

with open('aaa.json',encoding='utf-8') as f1:     name_dict = json.load(f1)     print(name_dict)fw = open('aaa.json','w',encoding='utf-8')json.dump(names,fw,ensure_ascii=False,indent=4)#以4个空格缩进,便于观看

dumps:序列化一个对象

loads: 从一个对象加载数据

dump:将一个对象序列化存入文件

load:从一个打开的文件句柄加载数据

在生成的json中可以选择Code-->Reformat Code让json的排列更便于观看。

五、time,datetime模块

print(time.timezone)#和标准时间相差的时间,单位是sprint(time.time())#获取当前时间戳print(time.sleep(1))#休息几sprint(time.gmtime())#把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳print(time.localtime())#把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳print(time.mktime(time.localtime()))#把时间元组转换成时间戳print(time.strftime("%Y-%m-%d %H:%M:%S"))#将时间元组转换成格式化输出的字符串print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组print(time.struct_time)#时间元组print(time.asctime())#时间元转换成格式化时间print(time.ctime())#时间戳转换成格式化时间print(datetime.datetime.now())#当然时间格式化输出print(datetime.datetime.now()+datetime.timedelta(3))#3天后的时间print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的时间

 六、hashlib模块

主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 

用法都大致相同,以md5加密为例

md = hashlib.md5()#构造一个md5对象md.update(b'abc123')print(md.hexdigest())

但是当加密的内容过于简单的时候,可以通过撞库的方法,暴力破解出内容

所以就要加盐加密

def md5_password(str,salt = '#^&*(Q$^*&Q^$'):    str = str + salt    import hashlib    md = hashlib.md5()    md.update(str.encode())    return md.hexdigest()print(md5_password('abc123'))

七、redis模块

redis是一个nosql类型的数据库,数据都存在内存中,有很快的读写速度,python操作redis使用redis模块,pip安装即可

r = redis.Redis(host='211.149.218.16',port=6378,password='123456',db=2)#指定连接redis的端口和ip以及哪个数据库r.set('zdq','nizhenhao@')#set string类型的值print(r.get('zdq').decode())#获取值r.hset('hname', 'key', 'value')#set 哈希类型的值print(r.hgetall('hname'))  # 获取这个name里所有的key和value

将db2中的数据转移

r = redis.Redis(host='211.149.218.16',port=6378,password='123456',db=2)#指定连接redis的端口和ip以及哪个数据库r_new =  redis.Redis(host='211.149.218.16',port=6378,password='123456',db=12)for k in r.keys():    k_type = r.type(k).decode()    if k_type == 'string':        v = r.get(k)        r_new.set(k,v)    elif k_type == 'hash':        hash_data = r.hgetall(k)        for k2,v2 in hash_data.items():            r_new.hset(k,k2,v2)    else:        print('error')

八、pymysql模块

import pymysql# 创建连接,指定数据库的ip地址,账号、密码、端口号、要操作的数据库、字符集connect = pymysql.connect(host = '211.149.218.16',port = 3306 ,user = 'jxz',passwd = '123456',db = 'jxz',charset = 'utf8')cur = connect.cursor()#建立游标,仓库管理员sql = 'select * from stu '# insert_sql = 'insert into stu VALUE (89,"zhangdq");'# cur.execute(insert_sql)cur.execute(sql)#执行sqlrow_1 = cur.fetchone()# 获取查询结果的第一条数据,返回的是一个元组row_2 = cur.fetchmany(5)# 获取前n行数据,返回一个元组row_3 = cur.fetchall()# 获取所有数据,返回一个元组connect.commit()#提交print(row_3)

如果想要获取到的结果是一个字典类型的话,可以导入from pymysql.cursors import DictCursor

import pymysqlfrom pymysql.cursors import DictCursorconnect = pymysql.connect(host = '211.149.218.16',port = 3306 ,user = 'jxz',passwd = '123456',db = 'jxz',charset = 'utf8')cur = connect.cursor(DictCursor)#指定游标的类型,字典类型sql = 'select * from stu 'cur.execute(sql)res = cur.fetchall()connect.commit()print(res)

转载于:https://www.cnblogs.com/nagisaling/p/7809376.html

你可能感兴趣的文章
从PHP5.0到PHP7.1的性能全评测
查看>>
sql语句中的字符串拼接
查看>>
【例9.11】01背包问题
查看>>
初学Python:基础部分
查看>>
词法分析修改版
查看>>
CentOS7.5 通过wget下载文件到指定目录
查看>>
java后端程序员1年工作经验总结
查看>>
P4843 清理雪道
查看>>
PhpStorm之设置字体大小
查看>>
js实现倒计时(分:秒)
查看>>
Web 存储之localStorage
查看>>
非常实用的jquery版表单验证
查看>>
C#计算代码行数
查看>>
AJAX 调用WebService 、WebApi 增删改查(笔记)
查看>>
数字格式化函数:Highcharts.numberFormat()
查看>>
一致性算法Paxos详解
查看>>
android studio中使用recyclerview小白篇(二)
查看>>
Tobject 类解析[转]
查看>>
俞敏洪:35岁前如何实现自我增值?
查看>>
js 数值格式化函数
查看>>