python之路--day16---random模块,sys模块,shutil模块

 1 import random
 2  
 3 print(random.random())#(0,1)----float    大于0且小于1之间的小数
 4  
 5 print(random.randint(1,3))  #[1,3]    大于等于1且小于等于3之间的整数
 6  
 7 print(random.randrange(1,3)) #[1,3)    大于等于1且小于3之间的整数
 8  
 9 print(random.choice([1,'23',[4,5]]))#1或者23或者[4,5]
10  
11 print(random.sample([1,'23',[4,5]],2))#列表元素任意2个组合
12  
13 print(random.uniform(1,3))#大于1小于3的小数,如1.927109612082716 
14  
15  
16 item=[1,3,5,7,9]
17 random.shuffle(item) #打乱item的顺序,相当于"洗牌"
18 print(item)

随机验证码实现

import random
def make_code(n):
    res=''
    for i in range(n):
        s1=chr(random.randint(65,90))
        s2=str(random.randint(0,9))
        res+=random.choice([s1,s2])
    return res

print(make_code(9))

 

 

sys模块

1 sys.argv           命令行参数List,第一个元素是程序本身路径
2 sys.exit(n)        退出程序,正常退出时exit(0)
3 sys.version        获取Python解释程序的版本信息
4 sys.maxint         最大的Int值
5 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
6 sys.platform       返回操作系统平台名称

 

shutil模块

shutil.copyfileobj()  将文件内容拷贝到另一个文件中
1 import shutil
2  
3 shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))
   
shutil.copyfile() 拷贝文件  #目标文件不需要存在
1 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在

shutil.copymode()  仅拷贝权限。内容,组,用户均不变
1 shutil.copymode('f1.log', 'f2.log') #目标文件必须存在

shutil.copystat()    仅拷贝状态的信息,包括:mode bits, atime, mtime, flags
1 shutil.copystat('f1.log', 'f2.log') #目标文件必须存在

shutil.copy()  #拷贝文件和权限
1 import shutil
2  
3 shutil.copy('f1.log', 'f2.log')

shutil.copy2()  拷贝文件和状态信息
1 import shutil
2  
3 shutil.copy2('f1.log', 'f2.log')

shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None) 递归的拷贝文件夹
1 import shutil
2  
3 shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) #目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除 

shtil.rmtree() 递归的删除文件
1 import shutil
2  
3 shutil.rmtree('folder1')

shutil.move()   递归的移动文件,其实就是重命名,类似mv命令
1 import shutil
2  
3 shutil.move('folder1', 'folder3')

shtil.make_archive() 创建压缩包并返回文件路径
  参数:
    base_name 压缩包的文件名,也可是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径
    format  压缩包种类
    root_dir 要压缩的文件夹路径
    owner 用户,默认当前用户
    group 组,默认当前组
    logger 用于记录日志,通常是logging.logger对象

#将 /data 下的文件打包放置当前程序目录
2 import shutil
3 ret = shutil.make_archive("data_bak", 'gztar', root_dir='/data')
4   
5   
6 #将 /data下的文件打包放置 /tmp/目录
7 import shutil
8 ret = shutil.make_archive("/tmp/data_bak", 'gztar', root_dir='/data') 

 

posted @ 2018-04-08 16:01  木夂口  阅读(342)  评论(0编辑  收藏  举报
levels of contents