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()

 

posted @ 2018-12-05 18:03  毛斯钢  阅读(162)  评论(0编辑  收藏  举报