os模塊下 getcwd()、chidr()、mkdir()、makedirs()、listdir() 等函數(shù)用法介紹

os.getcwd()

cwd 全稱為 Current Working Directory(CWD) ,即為當(dāng)前工作路徑;os.getcwd() 函數(shù)返回的就是當(dāng)前工作路徑

cwd 的作用

Python 調(diào)用腳本時(shí)需要指定腳本名稱,調(diào)用時(shí)解釋器首先會(huì)從當(dāng)前工作路徑下進(jìn)行搜索,如果文件名位于當(dāng)前文件夾下或配置到環(huán)境變量中,則調(diào)用成功否則調(diào)用失敗

>>> import os
>>> os.getcwd()
'D:\\Data\\map_data'

os.chidr(path)

  • path(str),文件夾目錄;

改變 當(dāng)前工作路徑path

>>> os.getcwd()
'D:\\Data\\map_data'
>>> os.chdir('../')#返回上一個(gè)目錄
>>> os.getcwd()
'D:\\Data'

os.mkdir(path)

  • path(str),文件夾目錄

創(chuàng)建一個(gè)文件夾目錄,如果 path 存在則程序報(bào)錯(cuò)

>>> os.listdir(os.getcwd())
['map-location.xlsx', 'Map2.gif', 'Map22.gif']
>>> os.mkdir(os.getcwd() + '/make_dir')
>>> os.listdir(os.getcwd())
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif']

>>> os.mkdir(os.getcwd() +'/make_dir')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileExistsError: [WinError 183] 當(dāng)文件已存在時(shí),無法創(chuàng)建該文件。: 'D:\\Data\\map_data/make_dir'

os.makedirs(path)

  • path(str),文件夾目錄

遞歸創(chuàng)建文件夾目錄 path,若中間部分文件夾不存在時(shí)則自動(dòng)創(chuàng)建;例如假設(shè)我想創(chuàng)建一個(gè) D:/Data/Ceshi/Ceshi1 目錄文件夾,而系統(tǒng)中沒有 D:/Data/Ceshi 文件夾,則在調(diào)用 os.makedirs(path) 函數(shù)創(chuàng)建前者時(shí),后者自動(dòng)創(chuàng)建;

>>> os.listdir(os.getcwd())
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif']
>>> os.makedirs(os.getcwd() + '/recu_dir/file_dir')
>>> os.listdir(os.getcwd())
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']
>>> os.listdir(os.getcwd() + '/recu_dir')
['file_dir']

os.listdir(path)

  • path(str),一個(gè)文件路徑;

返回一個(gè)列表,列出在目錄 path 下的文件目錄和文件名(沒有加入遞歸操作);未指定 path 則默認(rèn)為 當(dāng)前工作路徑

>>> os.listdir()
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']
>>> os.listdir(os.getcwd())
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']

os.remove(path)

  • path(str),表示一個(gè)文件路徑;

刪除一個(gè)文件路徑,**注意這個(gè)函數(shù)不能刪除文件夾,如果 path 指定的是文件夾的話會(huì)報(bào)錯(cuò) **

>>> os.remove(os.getcwd() +'/make_dir')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] 拒絕訪問。: 'D:\\Data\\map_data/make_dir'

>>> os.remove(os.getcwd() +'/Map21.gif')
>>> os.listdir()
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']

os.rmdir(path)

  • path(str),表示文件夾目錄

刪除一個(gè)文件夾 path ,需要注意的是 文件夾 path 必須為空的,否則報(bào)錯(cuò)

>>> os.listdir()
['make_dir', 'map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']
>>> os.rmdir(os.getcwd() + '/recu_dir')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [WinError 145] 目錄不是空的。: 'D:\\Data\\map_data/recu_dir'
>>> os.rmdir(os.getcwd() +'/make_dir')
>>> os.listdir()
['map-location.xlsx', 'Map2.gif', 'Map22.gif', 'recu_dir']

os.rename(path1,path2)

  • path1(str),未修改之前的文件路徑,或文件夾目錄;
  • path2(str),準(zhǔn)備修改的文件路徑;

將原文件 path1 重命名為 path2 ,前提需要保證源文件 path1 存在并且用戶有足夠權(quán)限修改它

>>> os.listdir()
['map-location.xlsx', 'Map22.gif', 'recu_dir']
>>> os.rename(os.getcwd() +'/Map22.gif',os.getcwd() +'/Map123.gif')
>>> os.listdir()
['map-location.xlsx', 'Map123.gif', 'recu_dir']
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容