python学习笔记(六)— 模块
一、os、sys模块
import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(os.pardir) # 父目录,相对路径 print(os.curdir)#当前目录,相对路径 os.rmdir("a")#删除指定的文件夹,空文件夹 os.remove("test") # 删除文件 os.rename("test1","test")#重命名 print(os.listdir('.'))#列出一个目录下的所有文件 print(os.stat("f2"))#获取文件信息 print(__file__)#__file__是这个文件的绝对路径 print(os.path.abspath(__file__))#获取绝对路径 print(os.path.split("/usr/hehe/hehe.txt")) # 分割路径和文件名 print(os.path.dirname("/day5/f1")) # 获取父目录 print(os.path.basename("/day5/f1"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名 print(os.path.exists("c://test")) # 目录/文件是否存在 print(os.path.isfile("test"))#判断是否是一个文件 print(os.path.isdir("D:\资料\笔记\Python\day5"))#是否是一个文件夹 print(os.path.join("root",'hehe','a.sql'))#拼接成一个路径 print(os.stat("f1")) # 获取文件信息 print(os.sep) # 当前操作系统的路径分隔符 print(os.linesep) # 当前操作系统的换行符 print(os.pathsep) # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是; print(os.environ) # 当前系统的环境变量 print(os.name) # 当前系统名称 os.system('ipconfig')#执行操作系统命令,只能执行,不能获取结果 res=os.popen('ipconfig')#执行操作系统命令,并且可以获取返回结果 print(res.read())
import sys print(sys.argv)#命令行参数List,第一个元素是程序本身路径 sys.exit(n)#退出程序,正常退出时exit(0) sys.version#获取Python解释程序的版本信息 sys.maxint#最大的Int值 sys.path#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform#返回操作系统平台名称 sys.stdout.write('please:') # 向屏幕输出一句话 val = sys.stdin.readline()[:-1] # 获取输入的值
二、time、datetime模块
import datetime,time time.sleep(1)#休息几s print(time.timezone)#和标准时间相差的时间,单位是s print(time.time())#获取当前时间戳 #时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数 '''时间戳和格式化好的时间相互转换的话,要转换成时间元组''' print(time.gmtime(181818881))#默认取标准时区的时间戳,输入一个时间戳把时间戳转换成时间元组 print(time.localtime(181818881))#默认取当前时区的时间戳,输入一个时间戳把时间戳转换成时间元组(北京当前时区,比标准多8小时) 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天前的时间
def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'):#时间戳格式化好的时间 cur_time=time.localtime(time_strmp) res=time.strftime(format,cur_time) return res def strToTimestamp(time_st,format='%Y%m%d%H%M%S'):#格式化好的时间转时间戳 t = time.strftime(time_st, format) res =time.mktime(t) return res
print(timestampToStr(202020))
print(strToTimestamp("20160204","%Y%m%d"))
三、加密模块
import hashlib '''md5''' a='HHh' m = hashlib.md5() bytes_a=a.encode()#加密不能传字符串,要输入二进制类型 m.update(bytes_a)#加密 print(m.hexdigest())#加密后的结果,Md5不可逆,不能被解密 def Md5_psw(st:str):#限定了入参的类型 m = hashlib.md5() bytes_st=st.encode() m.update(bytes_st) return m.hexdigest() res=Md5_psw('hhh') print(res) '''shal''' hash = hashlib.sha1() print(hash.hexdigest()) '''sha266''' hash = hashlib.sha256() print(hash.hexdigest()) '''sha384''' hash = hashlib.sha384() print(hash.hexdigest()) '''sha512''' hash = hashlib.sha512() print(hash.hexdigest()) '''base64''' import base64 a='ahha' r=a.encode()#字符串变成二进制 res=base64.b64encode(r)#base64编码 print(res.decode())#转成字符串 print(base64.b64encode(res.decode()))
四、json的处理
import json #json串就是字符串。 d = { 'car':{'color':'red','price':100,'count':50}, '挨粪叉':{'color':'red','price':100,'count':50}, '挨粪叉1':{'color':'red','price':100,'count':50}, '挨粪叉2':{'color':'red','price':100,'count':50}, '挨粪叉3':{'color':'red','price':100,'count':50}, '挨粪叉4':{'color':'red','price':100,'count':50}, } res = json.dumps(d,indent=8,ensure_ascii=False) #把list、字典转成json,indent多少缩进,ensure_ascii可以显示中文 f1 = open('f1','w',encoding='utf-8') f1.write(res) f1 = open('f1',encoding='utf-8') res = f1.read() dict_res = json.loads(res) #把json串变成python的数据类型 print(dict_res) f1 = open('f1','w',encoding='utf-8') json.dump(d,f1,ensure_ascii=False,indent=4) #自动帮你写入文件,第一个参数是数据,第二个是文件对象 f1 = open('f1',encoding='utf-8') print(json.load(f1)) #自动帮你读文件。