zoukankan      html  css  js  c++  java
  • 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') 
  • 相关阅读:
    RSA
    DES
    MD5
    增删改查
    [转]数据绑定之DataFormatString
    分页通用存储过程(未验证)
    浅谈sql中的in与not in,exists与not exists的区别
    [转]order by 1是什么意思?
    bak骗子公司
    Performance Considerations for Entity Framework 4, 5, and 6
  • 原文地址:https://www.cnblogs.com/guodengjian/p/8745500.html
Copyright © 2011-2022 走看看