Python3 从零单排8_time&random&shutil
time&datetime模块:
import time,datetime print(time.time())#获取当前时间点的时间戳 print(time.localtime())#获取当前时间点的时间元祖,如果传了时间戳,将传的时间戳装换为时间元祖 print(time.strftime('%Y-%m-%d %H:%M:%S'))#获取当前时间点的格式化时间 print(datetime.datetime.now())#获取当前时间点的格式化时间,str(datetime.datetime.now())将时间多想转成字符串,还可以str(datetime.date())获取年月日 print(datetime.datetime.now()+datetime.timedelta(+3))#获取当前时间点三天后的时间,还可以指定hours=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')
random模块:
import random,string random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 random.randint(1,10) #返回1-10之间的一个随机数,包括10 random.randrange(0, 100, 2) #随机选取0到100间的偶数 random.random() #返回一个随机浮点数 random.choice('abce3#$@1') #返回一个给定数据集合中的随机字符 random.sample('abcdefghij',3) #从多个字符中选取特定数量的字符 lis = [i for i in range(5)] random.shuffle(lis) #打乱顺序,输出 lis = [2, 4, 1, 3, 0] 注意,shuffle直接打乱原list string.punctuation # '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' 特殊字符 string.digits # '0123456789' string.ascii_letters # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' string.ascii_lowercase # 'abcdefghijklmnopqrstuvwxyz' string.ascii_uppercase # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' string.hexdigits # '0123456789abcdefABCDEF' string.octdigits # '01234567' string.printable # '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c' string.whitespace # ' \t\n\r\x0b\x0c'
shutil模块:
import shutil,zipfile,tarfile f1 = open("a.txt","r") f2 = open("b.txt","w") shutil.copyfileobj(f1,f2) #拷贝文件对象 f2.flush() shutil.copyfile("a.txt","x.txt") #拷贝文件内容 shutil.copy("a.txt","c.txt") #拷贝文件内容和权限 shutil.copy2("a.txt","c.txt") #拷贝文件内容和状态信息 shutil.copytree("myproj","myproj_new") #拷贝整个目录及目录下的所有文件(递归拷贝) shutil.copytree("myproj","myproj_new",ignore=shutil.ignore_patterns("*.txt")) #拷贝整个目录,除了忽略的文件 shutil.rmtree("myproj_new2") #删除整个目录及目录下的所有文件(递归删除) shutil.move("myproj_new","myproj_new2") #剪切目录 shutil.make_archive("myproj","zip","myproj") #压缩shutil.make_archive("可以是路径+压缩文件名","zip;tar等","被压缩文件") 实质是调用了zipfile模块 #zipfile 压缩zip 压缩了文件大小 z = zipfile.ZipFile("test.zip","w") z.write("a.txt") z.write("moudle_practice.py") z.write("myproj") #只压缩了文件夹名,不会递归压缩 z.close() #解压 z = zipfile.ZipFile(r"E:\Study\Automantic\old_boy\module2\home_work\test.zip","r") z.extractall() z.close() # tarfile 打包 tar 文件大小不会变 t = tarfile.open("your1.tar","w") t.add("a.txt") t.add("moudle_practice.py") t.add(r"E:\Study\Automantic\old_boy\module2\module\myproj\crm",arcname="crm1") #如果没有指定arcname,那么打的包里会有E:\Study\Automantic\old_boy\module2\module\myproj\crm这么多鞥路径 t.close() # 解压 t = tarfile.open("your.tar","r") t.extractall(r"E:\Study\Automantic\old_boy\module2\module\myproj") #可指定解压地址 t.close()
夕闻道不如朝闻道