Python 学习之路 - random、shutil

random

用于随机产生数字、字符,随机取列表中的数据,打乱列表数据等。

 1 import random
 2 import string
 3 #生成一个随机的浮点数,范围是在0.0~1.0之间
 4 print(random.random())
 5 
 6 #随机生一个整数int类型,可以指定这个整数的范围,包括5和10
 7 print(random.randint(5,10))
 8 
 9 #在5~10范围内取值,不包括10
10 print(random.randrange(10))
11 
12 #将一个序列中的元素,随机打乱的话
13 li = ['1','2','3']
14 random.shuffle(li)
15 print(li)
16 
17 #从指定序列中选择n个随机且独立的元素,返回一个列表
18 print(random.sample('abcdef',2))
19 
20 #随机验证码1
21 str_source = string.ascii_letters + string.digits
22 print(''.join(random.sample(str_source,5)))
23 
24 #随机验证码2
25 list = []
26 for i in range(6):
27     loc = random.randrange(0,6)
28     if loc == 2 or loc == 5:
29         random_ = str(random.randrange(0,10))
30         list.append(random_)
31     else:
32         random_ = random.randrange(65,91)
33         random_char = chr(random_)
34         list.append(random_char)
35 verify_code = "".join(list)
36 print(verify_code)

 

shutil

高级的 文件、文件夹、压缩包 处理模块.

复制、删除、移动:

 1 import shutil
 2 #复制在当前目录下
 3 #复制一个文件
 4 f1 = open("shuit_01.py")
 5 f2 = open("shuit_new.py","w")
 6 shutil.copyfileobj(f1,f2)
 7 
 8 #简单的复制文件,copyfile不copy权限。第一个参数是被copy文件的绝对路径,第二个是新copy的文件名
 9 shutil.copyfile(r"A:\Python\s13\day5\正则表达.py","copyFile.py")
10 
11 #拷贝文件和权限。第一个参数是被copy文件的绝对路径,第二个是新copy的文件名
12 shutil.copy(r"A:\Python\s13\day5\正则表达.py","copyFile.py")
13 
14 #拷贝文件和状态。第一个参数是被copy文件的绝对路径,第二个是新copy的文件名
15 shutil.copy2(r"A:\Python\s13\day5\正则表达.py","copyFile.py")
16 
17 #拷贝一个目录以及目录下的所有文件。第一个参数是被copy文件夹绝对路径,第二个是新copy的文件夹名
18 #shutil.copytree("A:\Python\s13\day5\src","new_src")
19 
20 #删除一个目录以及目录下的所有文件
21 #shutil.rmtree(r"A:\Python\s13\day5\new_src")
22 
23 #把某个目录下的文件移动到另一个目录
24 shutil.move(r"A:\Python\s13\day5\src","A:\Python\s13\day5\lib")

shutil 压缩:

1 import shutil
2 
3 #压缩文件,压缩A:\Python\s13\day3为zip文件,并放在A:目录下,命名为test。若第一个参数只有一个文件名,就放在当前目录
4 shutil.make_archive("A:\test",format="zip",root_dir=r"A:\Python\s13\day3")
zipfile压缩,解压缩(只能加压缩文件类型):
 1 import zipfile
 2 obj = zipfile.ZipFile('shuitZip.zip','w')
 3 obj.write('shuit_test01.xml')
 4 obj.close()
 5 
 6 obj = zipfile.ZipFile('shuitZip.zip','r')
 7 #obj.extractall() #一次性解压所有
 8 for item in obj.namelist():
 9     print(item)
10 file = input("file_name")
11 obj.extract(file) #解压输入的文件

tarfile压缩,解压缩(可压缩文件夹以及压缩文件)

 1 import tarfile
 2 
 3 #压缩,arcname代表相对路径,若无arcname会保留整个绝对路径
 4 tar = tarfile.open("bbs.tar",'w')
 5 tar.add("A:\Python\s13\day5\shuitZip.zip", arcname="bbs1.zip")
 6 tar.close()
 7 
 8 #解压
 9 tar = tarfile.open("bbs.tar",'r')
10 tar.extract()# 可设置解压地址
11 tar.close()

 

posted @ 2017-03-12 20:38  耕耘的小白  阅读(391)  评论(0编辑  收藏  举报