zoukankan      html  css  js  c++  java
  • sys模块,os模块,os下的path模块,random模块和shutil模块

      今天学习了sys模块,os模块,os下的path模块,random模块和shutil模块

      一、random模块

        random模块是一个随机数生成模块

        random.random() 会得到一个不包括1的随机浮点数

        random.randint(1,10) 会得到包括1和10的整数

        random.randrange(1,10) 会得到包括1 不包括10的整数

        random.sample(['aaa',['a','b'],3,4,5],2)  指定一个范围并指定需要的随机个数

        ls = ['1','2','3','4','5']

        random.shuffle(ls) 打乱顺序 洗牌 改的原有列表

        print(ls)

        print(random.choice([1,2,3])) 随机选一个

        print(random.choices([1,2,3,4,5,6,7],k = 2))

        写一个随机验证码 长度自定义 包括0-9 A-Z a-z

        def get_auth_code(lenth):

          res = ''

          for i in range(lenth):

            a = random.randint(0,9)

            b = chr(random.randint(65,90))

            c = chr(random.randint(97,122))

            s = random.choice(a,b,c)

          return res

        print(get_auth_code(4))

        print(random.uniform(1,3))  获得一个1-3中不包括1和3的浮点数

      二、sys模块

        sys.path 查看当前的环境变量

        sys.modules 查看已经加载的模块

        sys.argv 获取终端调用时的参数

        sys.version 获取解释器的版本信息

        sys.platform 获取当前平台名称

        sys.exit(n) 退出程序,正常退出时exit(0)

      三、os模块

        os 主要用于与操作系统进行交互

        os.getcwd() 获取当前的工作目录

        os.chdir(‘D:上海python全栈4期day20pack’) 切换工作目录

        os.curdir 返回当前目录:('.')

        os.pardir 获取当前目录的父目录字符串名: ('..')

        os.makedirs('1/2/3') 可生成多层递归目录

        os.removedirs('1/2/3') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

        os.mkdir('a') 生成胆机目录;相当于shell中mkdir a

        os.rmdir('a') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中的rmdir a

        os.remove() 删除一个文件

        os.listdir('a') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

        os.rename('oldname','newname') 重命名文件/目录

        os.stat('path/filename') 重命名文件/目录

        os.sep 输出操作系统特定的路径分隔符,win下为'\',Linux下为'/'

        os.linesep 输出当前平台使用的行终止符,win下为' ',LInux下为' '

        os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:

        os.name  输出字符串指示当前使用平台。 win ->'nt';Linux->'posix'

        os.system('bash command') 运行shell命令,直接显示

        os.environ 获取系统环境变量

      四、path模块

        os.path.abspath(path) 返回path规范化的绝对路径

        os.path.split(path) 将path分割成目录和文件名二元组返回

        os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素

        os.path.basename(path) 返回path最后的文件名。如果path以/或结尾,那么就会返回空值

        即os.path.split(path)得第二个元素

        os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

        os.path.isabs(path) 如果path是绝对路径,返回True

        os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False

        os.path.join(path1[,path2[,...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

        os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

        os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

        os.path.getsize(path) 返回path的大小

        normcase 用于将路径规范化 会将大写转为小写 斜杠改为当前系统分隔符

        print(os.path.normcase('\a\b\ABCS'))

        normpath 用于将路径规范化 不仅将非法的分隔符替换为合法分隔符 还将大写转为小写 并且会执行..的回到上一层

        print(os.path.normpath('/a/b/../ABCS'))

      五、shutil 模块

        非常简便的文件操作 压缩包处理模块

        shutil.copyfileobj 拷贝文件 提供两个文件对象 长度表示缓冲区大小

        shutil.copyfile(src,dst) 拷贝文件 提供两个文件路径

        shutil.copymode() 拷贝文件权限 提供两个文件路径

        shutil.copystat(src,dst) 拷贝文件和状态信息 提供两个文件路径

        

        shutil.ignore_patterns('mps','*.py')

        shutil.copytree(src,dst,symlinks = False,igore = None) 拷贝目录

        symlinks 默认False 将软连接拷贝到硬链接 否则拷贝为软连接

        shutil.rmtree 删除目录 可以设置忽略文件

        shutil.move(src,dst)

        移动目录和文件

      压缩与解压缩

        shutil 可以打包 但是无法解包 并且打包也是调用tarfile 和zipFIle完成解压需要按照格式调用对应的模块

        打包

        shutil.make_archive('test','tar','/Users/jerry/PycharmProjects/package/package1')

        import tarfile,zipfile

         zip压缩

        z = zipfile.ZipFile('test.zip','w')

        z.write('sys.py')

        z.write('start.py')

        z.close()

        zip解压

        z = zipfile.ZipFile('test.zip','r')

        z.extractall('/User/jerry/PycharmPrijects/package/aaa')

        z.close()

         tar压缩

        t = tarfile.open('teat.tar','w')

        t.add('start.py')

        t.add('sys.py')

        t.close()

         tar解压

        t = tarfile.open('test.tar')

        t.extractall('aaa/')

        t.close()

  • 相关阅读:
    Android之官方导航栏之Toolbar(Toolbar+DrawerLayout+ViewPager+PagerSlidingTabStrip)
    ASI简单实现网络编程
    Android批量图片加载经典系列——采用二级缓存、异步加载网络图片
    Android批量图片加载经典系列——使用LruCache、AsyncTask缓存并异步加载图片
    IOS实现多媒体音频之音乐播放器
    Win7配置Nginx+PHP7
    PL/SQL Developer 11 64bit 安装和配置
    ESXi 6.0 配置
    配置Tomcat使用Redis作为session管理
    Win7安装Redis
  • 原文地址:https://www.cnblogs.com/xiaocaiyang/p/9800127.html
Copyright © 2011-2022 走看看