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