python os模塊常用的29種方法使用詳解
os.getcwd()
獲取當(dāng)前工作目錄,即當(dāng)前python腳本工作的目錄路徑
print(os.getcwd()) >>E:\pycharm\test
os.chdir(“dirname”)
改變當(dāng)前腳本工作目錄;相當(dāng)于shell下cd
os.chdir('E:\pycharm')
print(os.getcwd())
>>E:\pycharm
os.curdir
是一個(gè)值,返回當(dāng)前目錄: ('.')
print(os.curdir) >>.
os.pardir
也是一個(gè)值,獲取當(dāng)前目錄的父目錄字符串名:('…')
print(os.pardir) >>..
os.makedirs(‘dirname1/dirname2')
可生成多層遞歸目錄
os.makedirs('path1/path2')
os.chdir('./path1/path2')
print(os.getcwd())
>>E:\pycharm\test\path1\path2

os.removedirs(‘dirname1')
若目錄為空,則刪除,并遞歸到上一級(jí)目錄,如若也為空,則刪除,依此類推
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')
生成單級(jí)目錄
os.mkdir('./path1')

os.rmdir(‘dirname')
刪除單級(jí)空目錄,若目錄不為空則無法刪除。
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()
刪除一個(gè)文件,不能刪除文件夾。
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
輸出操作系統(tǒng)特定的路徑分隔符,win下為"\",Linux下為"/"
print(os.sep) >>\
os.linesep
輸出當(dāng)前平臺(tái)使用的行終止符,win下為"\r\n",Linux下為"\n"
os.pathsep
輸出用于分割文件路徑的字符串 win下為;,Linux下為:
print(os.pathsep) >>;
os.name
輸出字符串指示當(dāng)前使用平臺(tái)。win->‘nt'; Linux->‘posix'
print(os.name) >>nt
os.system(“bash command”)
運(yùn)行shell命令,直接顯示
os.environ
獲取系統(tǒng)環(huán)境變量
os.path.abspath(path)
返回path規(guī)范化的絕對(duì)路徑
print(os.path.abspath('./log.py'))
>>E:\pycharm\test\log.py
os.path.split(path)
將path分割成目錄和文件名二元組返回
print(os.path.split('./log.py'))
>>('.', 'log.py')
os.path.dirname(path)
返回path的目錄。其實(shí)就是os.path.split(path)的第一個(gè)元素
print(os.path.dirname('./log.py'))
>>.
os.path.basename(path)
返回path最后的文件名。如果path以/或\結(jié)尾,那么就會(huì)返回空值。即os.path.split(path)的第二個(gè)元素
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是絕對(duì)路徑,返回True
print(os.path.isabs('./log.py'))
print(os.path.isabs('E:/pycharm/test/log'))
>>False
>>True
os.path.isfile(path)
如果path是一個(gè)存在的文件,返回True。否則返回False
print(os.path.isfile('./log'))
print(os.path.isfile('./log.py'))
>>False
>>True
os.path.isdir(path)
如果path是一個(gè)存在的目錄,則返回True。否則返回False,文件也返回False。
print(os.path.isdir('./log.py'))
print(os.path.isdir('./path_other'))
>>False
>>True
os.path.join(path1, path2, …)
將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略
print(os.path.join('./', 'path1', 'path2', 'path3'))
print(os.path.join('./', 'path1', 'path2', os.getcwd(), 'path3'))
>>./path1\path2\path3
>>E:\pycharm\test\path3
os.path.getatime(path)
返回path所指向的文件或者目錄的最后存取時(shí)間
print(os.path.getatime('./log.py'))
>>1590469701.9787416
os.path.getmtime(path)
返回path所指向的文件或者目錄的最后修改時(shí)間
print(os.path.getmtime('./log.py'))
>>1590469701.6769156
到此這篇關(guān)于python os模塊常用的29種方法使用詳解的文章就介紹到這了,更多相關(guān)python os模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python用sqlacodegen根據(jù)已有數(shù)據(jù)庫(表)結(jié)構(gòu)生成對(duì)應(yīng)SQLAlchemy模型
本文介紹了如何使用sqlacodegen獲取數(shù)據(jù)庫所有表的模型類,然后使用ORM技術(shù)進(jìn)行CRUD操作,有此需求的朋友可以了解下本文2021-06-06
python全棧要學(xué)什么 python全棧學(xué)習(xí)路線
在本文中小編給大家整理了關(guān)于python全棧要學(xué)什么以及python全棧學(xué)習(xí)路線的知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。2019-06-06
keras 多任務(wù)多l(xiāng)oss實(shí)例
這篇文章主要介紹了keras 多任務(wù)多l(xiāng)oss實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python編程中對(duì)super函數(shù)的正確理解和用法解析
可能有人會(huì)想到,Python中既然可以直接通過父類名調(diào)用父類方法為什么還會(huì)存在super函數(shù)?其實(shí),很多人對(duì)Python中的super函數(shù)的認(rèn)識(shí)存在誤區(qū),本文我們就帶來在Python編程中對(duì)super函數(shù)的正確理解和用法解析2016-07-07
Python @property及getter setter原理詳解
這篇文章主要介紹了Python @property及getter setter原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Python數(shù)據(jù)可視化的五種方法小結(jié)
大家好,在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,數(shù)據(jù)可視化是挖掘數(shù)據(jù)價(jià)值的重要一環(huán),本文將介紹五種極為實(shí)用的高級(jí)可視化圖表,從原理到代碼實(shí)現(xiàn),一站式助力繪制數(shù)據(jù)圖,需要的朋友可以參考下2025-04-04
python利用os模塊編寫文件復(fù)制功能——copy()函數(shù)用法
這篇文章主要介紹了python利用os模塊編寫文件復(fù)制功能——copy()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07

