Python的os模塊的一些常見文件和目錄操作
阿新 • • 發佈:2018-07-08
path os模塊 查看 刪除 The director text Coding 是否
轉自:極客學院
Python 的 os 模塊封裝了常見的文件和目錄操作,本文只列出部分常用的方法,更多的方法可以查看官方文檔。
下面是部分常見的用法:
方法 | 說明 |
---|---|
os.mkdir | 創建目錄 |
os.rmdir | 刪除目錄 |
os.rename | 重命名 |
os.remove | 刪除文件 |
os.getcwd | 獲取當前工作路徑 |
os.walk | 遍歷目錄 |
os.path.join | 連接目錄與文件名 |
os.path.split | 分割文件名與目錄 |
os.path.abspath | 獲取絕對路徑 |
os.path.dirname | 獲取路徑 |
os.path.basename | 獲取文件名或文件夾名 |
os.path.splitext | 分離文件名與擴展名 |
os.path.isfile | 判斷給出的路徑是否是一個文件 |
os.path.isdir | 判斷給出的路徑是否是一個目錄 |
例子
後文的例子以下面的目錄結構為參考,工作目錄為 /Users/ethan/coding/python
。
Users/ethan
└── coding
└── python
├── hello.py - 文件
└── web - 目錄
看看例子:
- os.path.abspath:獲取文件或目錄的絕對路徑
1 $ pwd 2/Users/ethan/coding/python 3 $ python 4 >>> import os # 記得導入 os 模塊 5 >>> os.path.abspath(‘hello.py‘) 6 ‘/Users/ethan/coding/python/hello.py‘ 7 >>> os.path.abspath(‘web‘) 8 ‘/Users/ethan/coding/python/web‘ 9 >>> os.path.abspath(‘.‘) #當前目錄的絕對路徑 10 ‘/Users/ethan/coding/python‘
- os.path.dirname:獲取文件或文件夾的路徑
1 >>> os.path.dirname(‘/Users/ethan/coding/python/hello.py‘) 2 ‘/Users/ethan/coding/python‘ 3 >>> os.path.dirname(‘/Users/ethan/coding/python/‘) 4 ‘/Users/ethan/coding/python‘ 5 >>> os.path.dirname(‘/Users/ethan/coding/python‘) 6 ‘/Users/ethan/coding‘
- os.path.basename:獲取文件名或文件夾名
1 >>> os.path.basename(‘/Users/ethan/coding/python/hello.py‘) 2 ‘hello.py‘ 3 >>> os.path.basename(‘/Users/ethan/coding/python/‘) 4 ‘‘ 5 >>> os.path.basename(‘/Users/ethan/coding/python‘) 6 ‘python‘
- os.path.splitext:分離文件名與擴展名
1 >>> os.path.splitext(‘/Users/ethan/coding/python/hello.py‘) 2 (‘/Users/ethan/coding/python/hello‘, ‘.py‘) 3 >>> os.path.splitext(‘/Users/ethan/coding/python‘) 4 (‘/Users/ethan/coding/python‘, ‘‘) 5 >>> os.path.splitext(‘/Users/ethan/coding/python/‘) 6 (‘/Users/ethan/coding/python/‘, ‘‘)
- os.path.split:分離目錄與文件名
1 >>> os.path.split(‘/Users/ethan/coding/python/hello.py‘) 2 (‘/Users/ethan/coding/python‘, ‘hello.py‘) 3 >>> os.path.split(‘/Users/ethan/coding/python/‘) 4 (‘/Users/ethan/coding/python‘, ‘‘) 5 >>> os.path.split(‘/Users/ethan/coding/python‘) 6 (‘/Users/ethan/coding‘, ‘python‘)
- os.path.isfile/os.path.isdir
1 >>> os.path.isfile(‘/Users/ethan/coding/python/hello.py‘) 2 True 3 >>> os.path.isdir(‘/Users/ethan/coding/python/‘) 4 True 5 >>> os.path.isdir(‘/Users/ethan/coding/python‘) 6 True 7 >>> os.path.isdir(‘/Users/ethan/coding/python/hello.py‘) 8 False
- os.walk
os.walk 是遍歷目錄常用的模塊,它返回一個包含 3 個元素的元祖:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回該目錄下所有的絕對路徑;dirnames 是以列表 list 形式返回每一個絕對路徑下的文件夾名字;filesnames 是以列表 list 形式返回該路徑下所有文件名字。
1 >>> for root, dirs, files in os.walk(‘/Users/ethan/coding‘): 2 ... print root 3 ... print dirs 4 ... print files 5 ... 6 /Users/ethan/coding 7 [‘python‘] 8 [] 9 /Users/ethan/coding/python 10 [‘web2‘] 11 [‘hello.py‘] 12 /Users/ethan/coding/python/web2 13 [] 14 []
Python的os模塊的一些常見文件和目錄操作