1. 程式人生 > 程式設計 >python os模組常用的29種方法使用詳解

python os模組常用的29種方法使用詳解

os.getcwd()

獲取當前工作目錄,即當前python指令碼工作的目錄路徑

print(os.getcwd())
>>E:\pycharm\test

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:\pycharm\test\path1\path2

python os模組常用的29種方法使用詳解

os.removedirs(‘dirname1')

若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推

os.chdir('./path1/path2')
print(os.getcwd())
os.removedirs('E:/pycharm/test/path1/path2')
print(os.getcwd())

python os模組常用的29種方法使用詳解

如果刪除的資料夾是工作路徑,則不能刪除。

os.removedirs('E:/pycharm/test/path1/path2')

python os模組常用的29種方法使用詳解

os.mkdir(‘dirname')

生成單級目錄

os.mkdir('./path1')

python os模組常用的29種方法使用詳解

os.rmdir(‘dirname')

刪除單級空目錄,若目錄不為空則無法刪除。

os.rmdir('./path1')

python os模組常用的29種方法使用詳解

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','__pycache__']
>>['.idea','__pycache__']

os.rename(“oldname”,“newname”)

重新命名檔案/目錄

print(os.listdir('./'))
os.rename('./log.txt.1','log.other')
print(os.listdir('./'))
>>['.idea','path','log.other','__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_size=3102,st_atime=1590469701,st_mtime=1590469701,st_ctime=1590462783)

os.sep

輸出作業系統特定的路徑分隔符,win下為"\",Linux下為"/"

print(os.sep)
>>\

os.linesep

輸出當前平臺使用的行終止符,win下為"\r\n",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:\pycharm\test\log.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('./',os.getcwd(),'path3'))
>>./path1\path2\path3
>>E:\pycharm\test\path3

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模組內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!