sys 模块和 os 模块-

--------------------------- sys 模块和 os 模块----------------------------------

  • sys

    #练习1.用于计算同一内存地址有多少次指向
    import sys
    a = [11,22,33]
    b = a
    print(sys.getrefcount(a))
    
  • 知识补充

    • \n 换行符

    • \t 制表符

    • \r 回到当前行的起始位置

      #示例1
      print('12355666\r',end='')
      print('你好')
      #输出结果为你好,将前面的12355666覆盖
      
      #示例2
      #进度条的生成
      import time
      for i in range(1,101):
          msg = '%s%%\r'%i
          print(msg,end='')
          time.sleep(0.1) 
      
  • 复制一个新的文件,并用进度条表示进度

    import os
    file_size = os.stat('MicrosoftOffice_2007_XiTongZhiJia.zip').st_size #获取字节大小
    print(file_size)
    read_size = 0
    with open('MicrosoftOffice_2007_XiTongZhiJia.zip',mode='rb') as f1,open('a.file',mode='wb') as f2:
        while read_size < file_size:
            chunk = f1.read(1024) #每次读1024个字节
            f2.write(chunk)
            read_size +=len(chunk)
            val =('%.4f'% (read_size/file_size *100)) #保留两位小数
            print('%s%%\r'%val,end='')
    
    
  • 删除指定的文件路径的目录

    #让用户执行脚本传入要删除的路径,在内部帮助用户将目录删除
    import sys
     print(sys.argv)
    在命令行中执行,可添加元素,获得列表
    #获取文件路径
    import shutil
    shutil.rmtree(path)
    #删除目录
    

os模块

和操作系统相关的数据

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

  • os.stat(path).st_size 获取文件大小

  • os.path.abspath() 获取一个文件的绝对(全)路径

    path = 'MicrosoftOffice_2007_XiTongZhiJia.zip'
    import os
    v1 = os.path.abspath(path)
    print(v1)
    
  • os.path.dirname(path) , 获得上级目录

    import os
    v = r'D:\python\python.exe C:/code/untitled/DAY1.py' #r为转译字符类似于\
    print(os.path.dirname(v))
    
    #关于转译字符r的补充
    print("jhsdfgv\ndfdtg\\\cdfgdd\\s") #注意\出现的次数,即使不是(s/r/t)时其第二个\也是转译字符和只有一个是一样的
    
  • os.path.join , 路径的拼接

    import os
    path = r"C:\code\untitled\lianxi"
    v = 'n.txt'
    result = os.path.join(path,v)
    print(result)
    
  • os.listdir , 查看一个目录下所有文件(第一层)

    import os
    path = r'C:\code\untitled'
    result = os.listdir(path)
    for i in result:
        print(i)
    
    
  • os.walk , 查看一个目录下的所有文件(所有层)

    import os
    result = os.walk(r'C:\code\untitled')
    for a,b,c, in result:
        print(a,1111,b,5555,c)
    #a:正在查看的目录;b:此目录下的文件夹;c:此目录下的文件
        for item in c:
            # print(item)
            path = os.path.join(a,item)
            print(path)
    
posted @ 2020-07-09 18:06  小杨的冥想课  阅读(163)  评论(0编辑  收藏  举报