python常用模块基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python常用模块基础相关的知识,希望对你有一定的参考价值。

1.补充上篇中的os,sys模块的几个小功能

import os,sys
res1=os.system(ipconfig)#os.system(commad)执行操作系统命令,不返回执行结果
res2=os.popen(ipconfig).read()#os.popen(commad)执行操作系统命令,返回执行结果,通过read方法可以读取内容
inpu=sys.argv#argv获取执行该python文件时的参数为list,如 ls -a 这里的a就是参数
if len(inpu)>1:
    if inpu[1]==-install:
        print(安装成功)
    elif inpu[1]==-help:
        print(靠人不如靠己,别老help)
else:
    print(错了)

2.time,datetime模块

import time,datetime
print(time.time())#获取当前时间点的时间戳
print(time.localtime())#获取当前时间点的时间元祖
print(time.strftime(%Y-%m-%d %H:%M:%S))#获取当前时间点的格式化时间
print(datetime.datetime.now())#获取当前时间点的格式化时间
print(datetime.datetime.now()+datetime.timedelta(+3))#获取当前时间点三天后的时间
print(datetime.datetime.now()+datetime.timedelta(-3))#获取当前时间点三天前的时间
print(time.gmtime(1234556489))#时间戳转换成时间元祖
print(time.mktime(time.gmtime(1234556489)))#时间元祖转换成时间戳
print(time.strftime(%Y,time.gmtime(1234556489)))#时间元祖转换成格式化时间
print(time.strptime(2009,%Y))#格式化时间转换成时间元祖
def transfer(timestamp,format=%Y%m%d):#时间戳格式化输出
    timetuple=time.gmtime(timestamp)
    print(time.strftime(format,timetuple))
def transfer2(timesformat,format=%Y%m%d):#格式化时间转换成时间戳输出
    timetuple=time.strptime(timesformat,format)
    print(time.mktime(timetuple))
transfer(231568465)
transfer2(19770504)

3.hashlib模块

import hashlib
md=hashlib.md5()
md.update(123456.encode())#一定要造待加密的字符串后面加上“.encode”编码,才能加密,否则报错
print(md.hexdigest())
def md_sault(str,sault=123456):#加盐,sault是盐值,默认是123456
    import hashlib
    str=str+sault
    md=hashlib.md5()
    md.update(str.encode())
    print(md.hexdigest())
md_sault(adsfad)

4.redis模块

import redis
coon=redis.Redis(host=192.168.217.128,password=123456,port=6379,db=1)
print(coon.hget(Idcards,花校纳).decode())#decode转码,这里get到的数据是bytes格式的,需要转码
coon.set(葛怕愿,123456789)
print(coon.get(戴铁视).decode())
coon.hset(Idcards,牛逼,123456789)
print(coon.hget(Idcards,牛逼).decode())
print(coon.keys())#数据库上所有的key
res=coon.hgetall(Idcards)
for i in res:
    print(i.decode(),:,res[i].decode())
coon.delete(yxg)#删除数据,yxg是key
# 需求是把一个redis库里面所有的数据,导入到另一个redis里面
# 1、r1 和r2 连接上r1和r2两个数据库
# 2、 获取到r1上面所有的key   keys
# 3、判断key的类型,r.type(k),get hgetall .hset() .set()
r1=redis.Redis(host=211.149.218.16,port=6378,password=123456,db=2)#获取数据
r2=redis.Redis(host=211.149.218.16,port=6378,password=123456,db=3)#写数据
keys = r1.keys()#r1数据库上所有的key
for k in keys:
    if r1.type(k)==bhash:#判断是否为哈希类型,因为redis里面返回的数据都是bytes类型的,
        #所以在hash前面加上b
        hash_data = r1.hgetall(k)#获取哈希的类型的数据
        for k2,v in hash_data.items():#循环刚才获取到的字典
            r2.hset(k,k2,v)#set哈希类型的值
    else:
        v = r1.get(k)#从r1里面获取值,
        r2.set(k,v)#set进去

5.json模块

import json
names={"yxg":123456,"yyy":654321,"zn":666}
res=json.dumps(names)#字典转json,dumps在mysql里有这个概念,mysqldump导出数据,这里字典是python自带的,json是外来的,所以dumps是把字典导出为json
new_names=json.loads(res)#json转字典,与dumps相反,那边是导出,这里就是导入了,将外来的json导入为dict
print(new_names)
print(type(new_names))
print(res)
print(type(res))
f=open(a.txt,w,encoding=utf-8)
json.dump(names,f,ensure_ascii=False)#将字典写入文件为json格式,不需要用write,直接json.dump(dict_name,file_name,ensure_ascii=False)即可
注意ensure_ascii=False是必须要的,json.dump()默认的是ascii编码,并不认识中文,需要关闭这个ascii编码
f=open(a.txt,encoding=utf-8)
res=json.load(f)#将json文件内容转换成字典格式,不需要用read,直接json.load(file_object)即可
print(res)
print(type(res))

6.mysql模块

import pymysql
from pymysql.cursors import DictCursor
coon=pymysql.connect(host=localhost,port=3306,user=root,password=root,db=test,charset=utf8)
cur=coon.cursor(DictCursor)
cur.execute(select * from stu)
res=cur.fetchall()
print(res)
for i in res:
    print(i)
cur.close()
coon.close()

 

以上是关于python常用模块基础的主要内容,如果未能解决你的问题,请参考以下文章

Python基础5-常用模块

Python学习—基础篇之常用模块

Day5 - Python基础5 常用模块学习

Python学习——02-Python基础——7-模块——time与random等常用模块与包

Python自动化基础day05:Python常用模块学习

python之基础篇——模块与包