国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用os.listdir和os.walk獲得文件的路徑的方法

2020-02-16 11:08:15
字體:
來源:轉載
供稿:網友

本文介紹了python使用os.listdir和os.walk獲得文件的路徑的方法,分享給大家。具體如下:

os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。這個列表以字母順序。 它不包括 '.' 和'..' 即使它在文件夾中。

os.walk() 方法用于通過在目錄樹種游走輸出在目錄中的文件名,向上或者向下。

情況1:在一個目錄下面只有文件,沒有文件夾,這個時候可以使用os.listdir

在我們的桌面上有一個file目錄(文件夾),里面有三個文件

file(dir)|  --|test1.txt  --|test2.txt  --|test3.txt

用下面的程序獲得文件的絕對路徑:

import ospath = r'C:/Users/Administrator/Desktop/file'for filename in os.listdir(path): print(os.path.join(path,filename)) 

使用os.listdir讀取到一個目錄下面所有的文件名,然后使用os.path.join把目錄的路徑和文件名結合起來,就得到了文件的絕路路徑,結果如下:

C:/Users/Administrator/Desktop/file/test1.txt
C:/Users/Administrator/Desktop/file/test2.txt
C:/Users/Administrator/Desktop/file/test3.txt

情況2:遞歸的情況,一個目錄下面既有目錄(目錄下面還可能有目錄和文件)也有文件,如何讀取里面所有文件,使用os.walk:

os.walk介紹:

我們在桌面上面建立一個file目錄,里面的組織結構如下:

file(dir):  --|file1(dir):   --|file1_test1.txt   --|file1_test2.txt  --|file2(dir)   --|file2_test1.txt  --|file_test1.txt  --|file_test2.txt

運行一下代碼:

import ospath = r'C:/Users/Administrator/Desktop/file'for dirpath,dirnames,filenames in os.walk(path): print(dirpath,dirnames,filenames) 

輸出結果如下:

C:/Users/Administrator/Desktop/file ['file1', 'file2'] ['file_test1.txt', 'file_test2 .txt']
C:/Users/Administrator/Desktop/file/file1 [] ['file1_test1.txt', 'file1_test2.txt']
C:/Users/Administrator/Desktop/file/file2 [] ['file2_test1.txt']

os.walk輸入一個路徑名稱,以yield的方式(其實是一個生成器)返回一個三元組 dirpath, dirnames, filenames,

dirpath為目錄的路徑,為一個字符串。比如上面的 C:/Users/Administrator/Desktop/file和C:/Users/Administrator/Desktop/file/file1等。

dirnames列出了目錄路徑下面所有存在的目錄的名稱。比如在 C:/Users/Administrator/Desktop/file下面有兩個目錄:file1和file2,那么它就列出了這個目錄路徑下的目錄名稱。

filenames列出了目錄路徑下面所有文件的名稱。同樣在 C:/Users/Administrator/Desktop/file下面有兩個文件file_test1.txt和file_test2 .txt,那么程序將會列出這兩個文件名。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜鼓县| 江门市| 商都县| 江北区| 济宁市| 镇远县| 南澳县| 教育| 巴里| 商都县| 兰州市| 长顺县| 道孚县| 临颍县| 临猗县| 阳朔县| 安远县| 崇义县| 合肥市| 宾川县| 三亚市| 沁源县| 宁陵县| 三门峡市| 东丽区| 鄂尔多斯市| 梁河县| 邻水| 马关县| 新余市| 南和县| 固安县| 洛南县| 铜梁县| 镇赉县| 衡山县| 新宾| 邢台市| 新昌县| 宁蒗| 大港区|