zoukankan      html  css  js  c++  java
  • python之os模块

    os模块就是python和操作系统交互的模块

    1、os.getcwd,获取当前的工作脚本的工作目录

    r = os.getcwd()
    print(r)
    
    # E:pythonpycharmgoto_endweek2模块系列
    

    2、os.chdir,改变当前脚本的工作目录,相当于linux命令中的cd

    tmp_path = "c:/tmp"   #先定义一个路径
    print(os.getcwd())     #查看当前的工作路径
    # E:pythonpycharmgoto_endweek2模块系列
    os.chdir(tmp_path)     #使用os.chdir命令切换工作路径到指定的目录
    print(os.getcwd())     #再次使用os.getcwd来获取当前的工作路径
    
    # c:	mp
    

    3、os.curdir这个方法目前不会使用,网上也没有查到相关的资料

    4、os.pardir,获取当前目录的父目录的名称,我们可以看到,父目录其实就是“..”

    tmp_path = "E:pythonpycharmgoto_endweek2模块系列"
    os.chdir(tmp_path)                 #使用os.chdir方法切换当前的工作目录到tmp_path中
    print(os.getcwd())                 #使用os.getcwd获取当前的工作目录
    print(type(os.pardir),os.pardir,sep="
    ")   #打印os.pardir的类型和值,可以看到是字符串类型,值为".."和linxu中的一样
    # <class 'str'>
    # ..
    

    5、os.makedirs,创建多级目录

    # os.makedirs()
    print("==========os.makedirs===============")
    tmp_path = "c:/tmp"
    os.chdir(tmp_path)
    print(os.getcwd())
    make_path = "c:/tmp/a/b/c"
    # os.makedirs(make_path)
    
    #可以看到目录已经创建成功C:	mpac
    

    6、os.removedirs 如果层级目录全部为空,则会递归删除,直到最后一个父目录

    s = "os.removedirs"
    print(s.center(40,"="))
    # make_path = "c:/tmp/a/b/c"
    # os.removedirs(make_path)        删除指定的目录,查看已经删除了
    

    7、os,makedir,创建单级目录

    # os.mkdir()
    s = "os.mkdir"
    print(s.center(40,"="))
    # make_path = "c:/tmp/a"
    # os.mkdir(make_path)   可以看到在指定目录下创建了a这个目录
    

    8、os.rmdir,删除单级目录

    # os.rmdir()
    s = "os.rmdir"
    print(s.center(40,"="))
    # make_path = "c:/tmp/a"
    # os.rmdir(make_path)           可以看到a这个目录已经被删除了
    

    9、os.listdir,列出指定目录下的文件和目录

    # os.listdir()
    s = "os.listdir"
    print(s.center(40,"="))
    # list_dir = "F:BaiduNetdiskDownload第一部分第一部分"
    # print(os.listdir(list_dir))
    

    10、os.remove删除文件

    # os.remove()
    s = "os.remove"
    list_path = "c:/tmp"
    remove_path = "C:/tmp/a.txt"
    print(s.center(40,"="))
    # print(os.listdir(list_path))
    # ['a.txt']
    # os.remove(remove_path)
    #
    # print(os.listdir(list_path))
    # []
    

    11、os.rename,重命名文件或者目录

    os.rename("oldname","newname")
    s = "os.rename"
    print(s.center(40,"="))
    
    rename_dir = "c:/2"
    rename_file = "C:/tmp/a.txt"
    print(os.listdir(rename_dir))
    os.rename(rename_file,"c:/tmp/a_new.txt")
    print(os.listdir(rename_dir))
    
    print(os.listdir("c:/"))
    os.rename(rename_dir,"c:/1")
    print(os.listdir("c:/"))
    

    12、os.stat获取文件或者目录的信息

    # os.stat("path/filename")
    s = "os.stat"
    print(s.center(40,"="))
    
    stat_dir = "c:/1"
    stat_file = "c:/tmp/a_new.txt"
    print(os.stat(stat_dir))
    这里可以获取到很多的信息,但是我们一般最常用的就是获取这个文件的字节大小,获取字节大小可以用下面的方法获取
    # os.stat_result(st_mode=16895, st_ino=9288674231537252, st_dev=1014518766, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1499562788, st_mtime=1499562788, st_ctime=1499562788) print(os.stat(stat_file)) # os.stat_result(st_mode=33206, st_ino=43910096366946995, st_dev=1014518766, st_nlink=1, st_uid=0, st_gid=0, st_size=16, st_atime=1499562688, st_mtime=1499562696, st_ctime=1499562688)

    13、os.set这个方法不会使用,网上也没有查到相关的信息

    14、os.linesep,输出当前平台的换行符

    s = "os.linesep"
    print(s.center(40,"="))
    print(list(os.linesep))
    
    # ['
    ', '
    ']
    

    15、os.pathsep,输出用于分割文件路径的字符串

    s = "os.pathsep"
    print(s.center(40,"="))
    print(list(os.pathsep))
    
    # [';']
    

     

    16、os.name,输入当前平台的操作系统,windows--->nt,linux为posi

    s = "os.name"
    print(s.center(40,"="))
    print(os.name)
    
    # nt
    

    17、os.system,执行操作系统的命令,因为我这里是windows,所有我就只能执行windows的系统命令

    s = "os.system"
    print(s.center(40,"="))
    os.system("ipconfig")
    

    18、os.environ,获取操作系统的环境变量

    s = "os.environ"
    print(s.center(40,"="))
    print(os.environ)
    
    # environ({'ALLUSERSPROFILE': 'C:\ProgramData', 'APPDATA': 'C:\Users\Administrator\AppData\Roaming', 'COMMONPROGRAMFILES': 'C:\Program Files\Common Files', 'COMPUTERNAME': '97ODP8DJGDRURUA', 'COMSPEC': 'C:\Windows\system32\cmd.exe', 'FP_NO_HOST_CHECK': 'NO', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\Users\Administrator', 'LOCALAPPDATA': 'C:\Users\Administrator\AppData\Local', 'LOGONSERVER': '\\97ODP8DJGDRURUA', 'MOZ_PLUGIN_PATH': 'C:\Program Files\Foxit Software\Foxit Reader\plugins\', 'NUMBER_OF_PROCESSORS': '2', 'OS': 'Windows_NT', 'PATH': 'C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'x86', 'PROCESSOR_IDENTIFIER': 'x86 Family 6 Model 37 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '2505', 'PROGRAMDATA': 'C:\ProgramData', 'PROGRAMFILES': 'C:\Program Files', 'PSMODULEPATH': 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\', 'PUBLIC': 'C:\Users\Public', 'PYCHARM_HOSTED': '1', 'PYTHONIOENCODING': 'UTF-8', 'PYTHONPATH': 'E:\python\pycharm', 'PYTHONUNBUFFERED': '1', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\Windows', 'TEMP': 'C:\Users\Administrator\AppData\Local\Temp', 'TMP': 'C:\Users\Administrator\AppData\Local\Temp', 'USERDOMAIN': '97ODP8DJGDRURUA', 'USERNAME': 'Administrator', 'USERPROFILE': 'C:\Users\Administrator', 'WINDIR': 'C:\Windows', 'WINDOWS_TRACING_FLAGS': '3', 'WINDOWS_TRACING_LOGFILE': 'C:\BVTBin\Tests\installpackage\csilogfile.log'})
    

     

    20、os.abspath,返回指定path的规范化绝对路径,这里真没看懂什么意思,感觉实际测试的结果没有什么区别

    s = "os.path.sbspath"
    print(s.center(40,"="))
    abs_path = "F:BaiduNetdiskDownload第一部分第一部分"
    print(os.path.abspath(abs_path))
    # F:BaiduNetdiskDownload第一部分第一部分
    

      

    21、os.path.split,把文件名和目录分割,然后放在一个tuple中,这里的文件名包括文件及其上一级目录

    # os.path.split()
    s = "os.path.split"
    print(s.center(40,"="))
    split_path = "F:BaiduNetdiskDownload第一部分第一部分085-上节内容回顾2.avv"
    
    print(os.path.split(split_path))
    
    
    # ('F:\BaiduNetdiskDownload\第一部分', '第一部分x0085-上节内容回顾2.avv')
    

      

    22、os.path.dirname,返回指定路径的目录

    s = "os.path.dirname"
    print(s.center(40,"="))
    
    dir_name = "F:BaiduNetdiskDownload第一部分第一部分085-上节内容回顾2.avv"
    
    print(os.path.dirname(dir_name))
    # F:BaiduNetdiskDownload第一部分
    

      

    23、os.path.basename,返回指定路径的文件名

    s = "os.path.basename"
    dir_name = "F:BaiduNetdiskDownload第一部分第一部分085-上节内容回顾2.avv"
    print(s.center(40,"="))
    print(os.path.basename(dir_name))
    
    # 第一部分 85-上节内容回顾2.avv
    #这里我们可以和os.path.split的方法比较,发现python认为的文件名要包括文件名以及他的上一级目录
    

      

    24、os.path.exists,指定的路径如果存在,则返回True,如果不存在,则返回False

    s = "os.path.exists"
    print(s.center(40,"="))
    exists_dir = "F:BaiduNetdiskDownload第一部分第一部分"
    
    print(os.path.exists(exists_dir))
    
    exists_dir = "F:BaiduNetdiskDownload第一部分第一1部分"
    print(os.path.exists(exists_dir))
    
    
    # True
    # False
    

      

    25、os.path.isabs,指定的路径如果是绝对路径,则返回True,如果不是,则返回False

    s = "os.path.isabs"
    print(s.center(40,"="))
    abs_dir = "F:BaiduNetdiskDownload第一部分第一部分"
    print(os.path.isabs(abs_dir))
    
    
    abs_dir = "BaiduNetdiskDownload第一部分第一部分"
    print(os.path.isabs(abs_dir))
    #
    # True
    # False
    

      

    26、os.path.isfile,指定的如果是文件,则返回True,如果是目录则返回False

    s = "os.path.isfile"
    print(s.center(40,"="))
    print(os.getcwd())
    # c:	mp
    dir_name = "a_new.txt"
    print(os.path.isfile(dir_name))
    # True
    
    dir_name = "C:	mpa_new.txt"
    print(os.path.isfile(dir_name))
    # False
    

      

    27、os.path.isdir,指定的路径如果是目录,则返回True,如果是文件则返回False

    s = "os.path.isdir"
    print(s.center(40,"="))
    dir_name = "E:/360"
    print(os.path.isdir(dir_name))
    
    dir_name = "a_new.txt"
    print(os.path.isfile(dir_name))
    

      

    28、os.path.gatetime,返回指定的目录或者文件的最后的存取时间

    s = "os.path.getatime"
    print(s.center(40,"="))
    getatime_path = "c:/tmp/a_new.txt"
    print(os.path.getatime(getatime_path))
    
    # 1499562688.7266502
    

      

    29、os.path.gatmtime,返回指定的目录或者文件的最后修改时间

    s = "os.path.getmtime"
    print(s.center(40,"="))
    getatime_path = "c:/tmp/a_new.txt"
    print(os.path.getmtime(getatime_path))
    # 1499562696.1190732
    

    30、获取文件的大小可以这样获取

    a = os.stat("D:isooracleRAC模板部署视频.exe")
    print(a.st_size)
    

      

     31、通过dirname可以获取指定路径的父路径的绝对路径,可以看下面的例子,这个到导入模块的时候用的比较多

    a = os.path.dirname("D:isooracleRAC模板部署视频.exe")
    print(a)
    # D:isooracle
    b = os.path.dirname(a)
    print(b)
    # D:iso
    c = os.path.dirname(b)
    print(c)
    # D:
    

     

  • 相关阅读:
    2020-03-15助教一周小结(第五周)
    2020-03-08助教一周小结(第四周)
    2020-03-01 助教一周小结(第三周)
    助教一周小结(第二周)
    2020-02-16 助教一周小结(第一周)
    201771010135 杨蓉庆《面对对象程序设计(java)》第十二周学习总结
    201771010135 杨蓉庆AND张燕 《面对对象程序设计(java)》第十一周学习总结
    201771010135 杨蓉庆《面对对象程序设计(java)》第十周学习总结
    201771010135杨蓉庆 《面对对象程序设计(java)》第九周学习总结
    201771010135杨蓉庆 《面对对象程序设计(java)》第八周学习总结
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/6395871.html
Copyright © 2011-2022 走看看