Python (time、datetime、random、os、sys、shutil)模块的使用

时间:2021-08-23 22:44:39
######################################################### 模块time #######################################
多用于时间戳与字符串的转换
import time
print(time.time())         #出来的结果是现在距离1970年1月1日过去了多少秒
print(time.localtime())             ####输出当前系统的时间
time.sleep(0.1)                  #########d等待3秒
print("haha")
a = time.strftime('%Y-%m-%d %H:%M:%S')   ##将时间进行格式转换,转换成字符串格式
b = time.strptime(a,'%Y-%m-%d %H:%M:%S') ##将字符串格式的时间转换为列表格式
print(a,b)
print(time.mktime(b)) ##转换为秒
############################################### 模块 datetime ########################################
 
多用于时间的修改
import datetime
a = datetime.datetime.now()         #打印当前的时间
print(a)
b = a - datetime.timedelta(days=2)     #这里可以进行时间运算,加减都可以,days,hours、minutes,seconds不能对月进行运算
print(b)
c = a.replace(year= 2017,month=6,day=5)  ###时间替换,回到自己想到去的时间
print(c)
########################################## 模块 random ###############################################
抽取随机数
import random
a = random.randint(1,3)              #这个是包含3
print(a)
b = random.randrange(1,3)             #这个是不包含3
print(b)
c = random.random()                ##这个是随机浮点数
print(c)
d = random.choice("fdsjfsglhj$@*^#%!$")    #从字符串里随机返回一个字节
print(d)
e = random.sample("fdsjfsglhj$@*^#%!$",4)   ##这是返回多个字节
print(e)
for i in "".join(e):
time.sleep(1)
print(i) #这是一个小循环
g = list(range(10))
print(g)
random.shuffle(g)                ######这是打乱顺序,相当于从新洗牌
print(g)
 
############################################ 模块 os #################################################
跟系统进行一些交互,比如对文件及目录的增删改
import  os
print(os.getcwd())         #打印你运行程序所在的目录
print(os.listdir('.'))        #打印当前目录下面的所有文件,括号里面有个小数点
os.path.isfile(path="")       #判断给的路径是否是一个文件
os.path.isdir(path="")       #判断给的路径是否是一个目录
os.path.exists(path="")       #判断给的路径是否存在
os.system("shell 命令")       #执行shell命令
os.rename(old,new)        ###重命名
os.makedirs("home/test")    #递归创建目录
os.mkdir()    #创建一个目录
os.stat 、chmod 、kill和shell命令意思一样
os.chdir("path")         # 改变路径,相当于shell的cd,只在程序中有效
 
######################################## 模块 sys #########################################################
import sys
sys.exit("baibai") #退出的时候会打印baibai
sys.version #打印Python的版本信息
sys.getrecursionlimit()      #获取最大递归层数,默认是1000,不常用
sys.setrecursionlimit(1200)     #设置最大递归层数
sys.getdefaultencoding()      #获取解释器的默认编码
sys.getfilesystemencoding()    #获取内存数据存到文件里的默认编码
###################################### 模块 shutil ##########################################################
 
高级的文件、文件夹、压缩包处理模块
import  shutil
shutil.copyfileobj(src,dsc)           #相当于shell的cat,将一个文件的内容复制到另一个空的文件内
shutil.copytree('src','dsc',ignore=shutil.ignore_patterns('filename','filename2')) ###递归cp,复制整个目录,ignore是呼略某个文件
shutil.rmtree("path")                              #删除整个目录
shutil.move('src','dsc')                            ###相当于shell的mv
shutil.make_archive('压缩后保存文件名,可以写路劲','gztar压缩的格式',"要压缩的文件")####压缩
############# ZipFile 压缩,可以想压缩哪个文件就压缩哪个文件,但不对目录进行递归压缩
import zipfile
z = zipfile.ZipFile("压缩后的名字",'w')
z.write("filename1")
z.write("filename2")
z.write("filename3")
z.close()
###解压缩
z = zipfile.ZipFile('需要解压的包名','r')
z.extractall('path') #解压的路径
z.close()



这些模块中还有很多工具,这里只列了一些常用的。