python 文件和路徑操作函數小結
2020-02-23 04:44:13
供稿:網友
1: os.listdir(path) //path為目錄
功能相當于在path目錄下執行dir命令,返回為list類型
print os.listdir('..')
2: os.path.walk(path,visit,arg)
path :是將要遍歷的目錄
visit :是一個函數指針,函數圓形為:
callback(arg,dir,fileList)
其中arg為為傳給walk的arg , dir是path下的一個目錄,fileList為dir下的文件和目錄組成的list, arg:傳給visit用的
3:os.path.split(path)
path 為一個路徑,
輸出,把path分成兩部分,具體看實例:
print os.path.split("abc/de.txt")
('abc', 'de.txt')
os.path.split("abc")
(", 'abc')
print os.path.split("de/abc/de")
('de/abc', 'de')
4: os.path.splitext(filename)
把文件名分成文件名稱和擴展名
os.path.splitext(abc/abcd.txt)
('abc/abcd', '.txt')
5: os.path.dirname(path)
把目錄名提出來
print os.path.dirname("abc")
#輸出為空
print os.path.dirname('abc/def')
abc
6: os.path.basename(filename)
取得主文件名
print os.path.basename('abc')
abc
print os.path.basename('abc.txt')
abc
print os.path.basename('bcd/abc')
abc #這個需要注意不包括目錄名稱
print os.path.basename('.')
.
7:os.mkdir(path, [mode])
path為目錄名: 這里有個要求,只能創建一級目錄
比如path為 abc/def 則當前目錄下必須存在abc 否則失敗
8: os.makedirs(path [,mode])
可以創建多級目錄
9:os.remove(path)刪除一個文件,一定是一個文件
os.removedirs(path) 刪除一個目錄下所有東西
os.rmdir(path) 刪除一個目錄,而且一定要空,否則os.errer
10:os.walk(path)
遍歷path,返回一個對象,他的每個部分都是一個三元組
('目錄x',[目錄x下的目錄list],目錄x下面的文件)
舉例:
a = os.walk('.')
for i in a:
print i
11:shutil.copy(src,dst)
把文件src內容拷貝到文件dst中。,目標區域必須可以寫,如果dst存在,則dst被覆蓋
――――――――――――――――――
11.1 os.path -- 普通的路徑名操作
這個模塊實現一些在路徑名稱上有用的函數。
警告:在 Windows 上,這些函數中的多個不能正確地支持 UNC 路徑名。splitunc() 和 ismount() 可以正確地處理它們。
abspath(path)
返回 path 路徑名一個規格化的絕對化的版本。在大多數平臺上,相當于normpath(join(os.getcwd(), path))。1.5.2版本中的新特性。
basename(path)
返回 path 路徑名最底部的名稱。這是由 split(path)返回的對的第二半部分。注意這個函數的結果不同于Unix basename 程序;UNIX的 basename對于'/foo/bar/' 返回 'bar',basename() 函數返回一個空字符串('')。
commonprefix(list)
返回最長的路徑前綴(采取字符的字符),是 list中所有路徑的一個前綴。如果 list 為空,返回空字符串('')。注意可以返回無效的路徑因為它每次操作一個字符。