1. 程式人生 > >Python的os模塊的一些常見文件和目錄操作

Python的os模塊的一些常見文件和目錄操作

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模塊的一些常見文件和目錄操作