Python分享之路徑與檔案 (os.path包, glob包)
os.path包
os.path包主要是處理路徑字串,比如說'/home/vamei/doc/file.txt',提取出有用資訊。
import os.path path = '/home/vamei/doc/file.txt' print(os.path.basename(path)) # 查詢路徑中包含的檔名 print(os.path.dirname(path)) # 查詢路徑中包含的目錄 info = os.path.split(path) # 將路徑分割成檔名和目錄兩個部分,放在一個表中返回 path2 = os.path.join('/', 'home', 'vamei', 'doc', 'file1.txt') # 使用目錄名和檔名構成一個路徑字串 p_list = [path, path2] print(os.path.commonprefix(p_list)) # 查詢多個路徑的共同部分
此外,還有下面的方法:
os.path.normpath(path) # 去除路徑path中的冗餘。比如'/home/vamei/../.'被轉化為'/home'
os.path還可以查詢檔案的相關資訊(metadata)。檔案的相關資訊不儲存在檔案內部,而是由作業系統維護的,關於檔案的一些資訊(比如檔案型別,大小,修改時間)。
import os.path path = '/home/vamei/doc/file.txt' print(os.path.exists(path)) # 查詢檔案是否存在 print(os.path.getsize(path)) # 查詢檔案大小 print(os.path.getatime(path)) # 查詢檔案上一次讀取的時間 print(os.path.getmtime(path)) # 查詢檔案上一次修改的時間 print(os.path.isfile(path)) # 路徑是否指向常規檔案 print(os.path.isdir(path)) # 路徑是否指向目錄檔案
(實際上,這一部份類似於Linux中的ls命令的某些功能)
glob包
glob包最常用的方法只有一個, glob.glob()。該方法的功能與Linux中的ls相似(參看Linux檔案管理命令),接受一個Linux式的檔名格式表示式(filename pattern expression),列出所有符合該表示式的檔案(與正規表示式類似),將所有檔名放在一個表中返回。所以glob.glob()是一個查詢目錄下檔案的好方法。
該檔名錶達式的語法與Python自身的正規表示式不同 (你可以同時看一下fnmatch包,它的功能是檢測一個檔名是否符合Linux的檔名格式表示式)。 如下:
Filename Pattern Expression Python Regular Expression
* .*
? .
[0-9] same
[a-e] same
[^mnp] same
我們可以用該命令找出/home/vamei下的所有檔案:
import glob print(glob.glob('/home/vamei/*'))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026630/viewspace-2987000/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 快速教程(標準庫03):路徑與檔案 (os.path包, glob包)Python
- Python模組學習:glob 檔案路徑查詢Python
- Golang os 包與設定配置檔案路徑Golang
- Python標準庫分享之檔案管理 (部分os包,shutil包)Python
- Python分享之數學與隨機數 (math包,random包)Python隨機random
- 下載Python安裝包及支援包路徑Python
- Python標準庫04 檔案管理 (部分os包,shutil包)Python
- Python製作egg檔案包Python
- 利用Perl的File::Basename包解析全檔案路徑資訊
- Python深入分享之閉包Python
- Python 快速教程(標準庫04):檔案管理 (部分os包,shutil包)Python
- Python - 模組與包Python
- Python包與模組Python
- python模組與包Python
- 深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案JARGradle
- Python 分發包中新增額外檔案Python
- python----之_init_檔案以及導包Python
- 徹底解決java WEB專案的檔案路徑問題(war包)JavaWeb
- Python標準庫分享之儲存物件 (pickle包,cPickle包)Python物件
- python 當前路徑和導包路徑問題全解析Python
- Python分享之多程式探索 (multiprocessing包)Python
- Python多程式之分享(multiprocessing包)Python
- Python分享之多程式初步 (multiprocessing包)Python
- Laravel 遷移檔案生成包Laravel
- wireshark使用-----拆分抓包檔案
- Java的WAR包檔案分析Java
- JS進擊之路:閉包JS
- python中的__init__.py檔案和導包總結Python
- Python中列已安裝包和requirements.txt檔案PythonUIREM
- Python學習之模組與包Python
- python 基礎之模組與包Python
- Python閉包與裝飾器Python
- 【python】閉包與裝飾器Python
- 草根學Python(八) 模組與包Python
- python閉包 - 理解與應用Python
- Go基礎:路徑、檔名和包名的關係Go
- python 中快速定位到三方包所在路徑Python
- 【Python】配置檔案配置路徑Python