Python 速查手冊- 12.5 基本檔案與目錄處理os 與os.path

文章推薦指數: 80 %
投票人數:10人

本篇文章介紹Python 標準程式庫的os 與os.path 模組。

... os 與os.path 為處理作業系統相關及目錄路徑的模組(module) , os 有以下的常用常數 ... Python速查手冊 12.5基本檔案與目錄處理os與os.path os與os.path為處理作業系統相關及目錄路徑的模組(module),os有以下的常用常數 常數說明 os.name系統平台名稱,目前註冊三種'posix'、'nt'及'java'。

os.sep系統平台路徑的分隔符號,例如POSIX為'/'而Windows為'\\'。

os.linesep系統平台的斷行符號,例如POSIX為'\n'而Windows為'\r\n。

關於系統平台,sys的platform有比較詳細的分類。

os有以下的常用函數(function) 函數說明 os.system(command)執行command,command為系統指令的字串。

os.getcwd()取得目前所在路徑。

os.rename(src,dst,*,src_dir_fd=None,dst_dir_fd=None)將src改名為dst。

os.listdir(path='.')回傳path中所有內容的串列,預設為當前路徑。

os.mkdir(path,mode=0o777,*,dir_fd=None)建立path路徑,如果已存在就會發起例外。

os.remove(path,*,dir_fd=None)移除path,如果path是目錄就會發起例外。

os.rmdir(path,*,dir_fd=None)刪除path目錄。

以下程式示範利用os.name判斷作業系統種類,然後用相對應的系統指令清除終端機畫面 importos ifos.name=="posix": os.system("clear") elifos.name=="nt": os.system("cls") else: print("未能識別的作業系統。

") #《程式語言教學誌》的範例程式 #http://kaiching.org/ #檔名:odemo01.py #功能:示範os及os.path模組 #作者:張凱慶 於命令列執行以上程式 $python3odemo01.py 按下Enter鍵,就會清除終端機的畫面 $ os.path有以下的常用函數 函數說明 os.path.isfile(path)判斷path檔案是否存在。

os.path.isdir(path)判斷path路徑是否存在。

os.path.split(path)分割路徑為(head,tail),其中head為目錄,tail為檔案名稱。

os.path.splitext(path)分割路徑為(root,ext),其中root為目錄包括檔名,ext為副檔名。

os.path.join(dirpath,filename)將dirpath與filename結合,無需自行判斷要用'\\'或'/'。

os.path.dirname(path)回傳path的目錄路徑。

os.path.basename(path)回傳path的檔案名稱。

os.path.getsize(path)回傳path以位元組計算的大小。

以下程式先判斷目錄是否存在,如果不存在就建立新目錄,然後把文字檔案拷貝到新目錄,最後用UNIX-Like的系統指令cat印出檔案內容 importos importos.path importshutil ifnotos.path.isdir("demo"): os.mkdir("demo") new_path="demo/new.txt" shutil.copy("quotes.txt",new_path) os.system("cat"+new_path) #《程式語言教學誌》的範例程式 #http://kaiching.org/ #檔名:odemo02.py #功能:示範os及os.path模組 #作者:張凱慶 於命令列執行以上程式 $python3odemo02.py Helloworld! Thereisnospoon. Mannersmakeththeman. Youneedtimetoknow,toforgiveandtolove. Andthenbeasimpleman. $ 標準程式庫(standardlibrary)中的shutil模組具有進階檔案處理的功能。

相關教學影片 Python標準程式庫的基本檔案與目錄處理os⇨YouTube頁面連結 上一頁:12.4隨機數random Python速查手冊-目錄 下一頁:12.6資料庫sqlite3 回Python教材首頁 回程式語言教材首頁



請為這篇文章評分?