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:资料笔记Pythonday5"))#是否是一个文件夹
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))
#自动帮你读文件。
原文地址:https://www.cnblogs.com/qikelili/p/8303593.html