python os模塊常用的29種方法使用詳解
os.getcwd()
獲取當前工作目錄,即當前python腳本工作的目錄路徑
print(os.getcwd())>>E:pycharmtest
os.chdir(“dirname”)
改變當前腳本工作目錄;相當于shell下cd
os.chdir(’E:pycharm’)print(os.getcwd())>>E:pycharm
os.curdir
是一個值,返回當前目錄: (’.’)
print(os.curdir)>>.
os.pardir
也是一個值,獲取當前目錄的父目錄字符串名:(’…’)
print(os.pardir)>>..
os.makedirs(‘dirname1/dirname2’)
可生成多層遞歸目錄
os.makedirs(’path1/path2’)os.chdir(’./path1/path2’)print(os.getcwd())>>E:pycharmtestpath1path2
os.removedirs(‘dirname1’)
若目錄為空,則刪除,并遞歸到上一級目錄,如若也為空,則刪除,依此類推
os.chdir(’./path1/path2’)print(os.getcwd())os.removedirs(’E:/pycharm/test/path1/path2’)print(os.getcwd())
如果刪除的文件夾是工作路徑,則不能刪除。
os.removedirs(’E:/pycharm/test/path1/path2’)
os.mkdir(‘dirname’)
生成單級目錄
os.mkdir(’./path1’)
os.rmdir(‘dirname’)
刪除單級空目錄,若目錄不為空則無法刪除。
os.rmdir(’./path1’)
os.listdir(‘dirname’)
列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打印。
print(os.listdir(’./’))>>[’.idea’, ’0.py’, ’1.py’, ’log.py’, ’log.txt’, ’log.txt.1’, ’os_test.py’, ’test.py’, ’__pycache__’]
os.remove()
刪除一個文件,不能刪除文件夾。
print(os.listdir(’./’))os.remove(’./log.txt’)print(os.listdir(’./’))>>[’.idea’, ’0.py’, ’1.py’, ’log.py’, ’log.txt’, ’log.txt.1’, ’os_test.py’, ’test.py’, ’__pycache__’]>>[’.idea’, ’0.py’, ’1.py’, ’log.py’, ’log.txt.1’, ’os_test.py’, ’test.py’, ’__pycache__’]
os.rename(“oldname”,“newname”)
重命名文件/目錄
print(os.listdir(’./’))os.rename(’./log.txt.1’, ’log.other’)print(os.listdir(’./’))>>[’.idea’, ’0.py’, ’1.py’, ’log.py’, ’log.txt.1’, ’os_test.py’, ’path’, ’test.py’, ’__pycache__’]>>[’.idea’, ’0.py’, ’1.py’, ’log.other’, ’log.py’, ’os_test.py’, ’path’, ’test.py’, ’__pycache__’]
os.stat(‘path/filename’)
獲取文件/目錄信息
print(os.stat(’./’))print(os.stat(’./log.py’))>>os.stat_result(st_mode=16895, st_ino=281474976733851, st_dev=265296634, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1591056501, st_mtime=1591056501, st_ctime=1585357336)>>os.stat_result(st_mode=33206, st_ino=1970324837041014, st_dev=265296634, st_nlink=1, st_uid=0, st_gid=0, st_size=3102, st_atime=1590469701, st_mtime=1590469701, st_ctime=1590462783)
os.sep
輸出操作系統特定的路徑分隔符,win下為'',Linux下為'/'
print(os.sep)>>
os.linesep
輸出當前平臺使用的行終止符,win下為'rn',Linux下為'n'
os.pathsep
輸出用于分割文件路徑的字符串 win下為;,Linux下為:
print(os.pathsep)>>;
os.name
輸出字符串指示當前使用平臺。win->‘nt’; Linux->‘posix’
print(os.name)>>nt
os.system(“bash command”)
運行shell命令,直接顯示
os.environ
獲取系統環境變量
os.path.abspath(path)
返回path規范化的絕對路徑
print(os.path.abspath(’./log.py’))>>E:pycharmtestlog.py
os.path.split(path)
將path分割成目錄和文件名二元組返回
print(os.path.split(’./log.py’))>>(’.’, ’log.py’)
os.path.dirname(path)
返回path的目錄。其實就是os.path.split(path)的第一個元素
print(os.path.dirname(’./log.py’))>>.
os.path.basename(path)
返回path最后的文件名。如果path以/或結尾,那么就會返回空值。即os.path.split(path)的第二個元素
print(os.path.basename(’./log.py’))print(os.path.basename(’./’))>>log.py>>
os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False
print(os.path.exists(’./log.py’))print(os.path.exists(’./log’))>>True>>False
os.path.isabs(path)
如果path是絕對路徑,返回True
print(os.path.isabs(’./log.py’))print(os.path.isabs(’E:/pycharm/test/log’))>>False>>True
os.path.isfile(path)
如果path是一個存在的文件,返回True。否則返回False
print(os.path.isfile(’./log’))print(os.path.isfile(’./log.py’))>>False>>True
os.path.isdir(path)
如果path是一個存在的目錄,則返回True。否則返回False,文件也返回False。
print(os.path.isdir(’./log.py’))print(os.path.isdir(’./path_other’))>>False>>True
os.path.join(path1, path2, …)
將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略
print(os.path.join(’./’, ’path1’, ’path2’, ’path3’))print(os.path.join(’./’, ’path1’, ’path2’, os.getcwd(), ’path3’))>>./path1path2path3>>E:pycharmtestpath3
os.path.getatime(path)
返回path所指向的文件或者目錄的最后存取時間
print(os.path.getatime(’./log.py’))>>1590469701.9787416
os.path.getmtime(path)
返回path所指向的文件或者目錄的最后修改時間
print(os.path.getmtime(’./log.py’))>>1590469701.6769156
到此這篇關于python os模塊常用的29種方法使用詳解的文章就介紹到這了,更多相關python os模塊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
