高血压专题网,内容丰富有趣,生活中的好帮手!
高血压专题网 > 常用模块以及常用方法

常用模块以及常用方法

时间:2019-07-01 19:58:56

相关推荐

常用模块以及常用方法

一、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("0204 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 + saltimport hashlibmd = 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()# 获取所有数据,返回一个元组mit()#提交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()mit()print(res)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。