国产探花免费观看_亚洲丰满少妇自慰呻吟_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,那么程序將會列出這兩個文件名。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 鱼台县| 遵化市| 祁连县| 衡南县| 叙永县| 乌拉特后旗| 增城市| 交口县| 万山特区| 分宜县| 郓城县| 赤水市| 万州区| 奉节县| 安阳市| 屯留县| 图木舒克市| 新巴尔虎左旗| 台州市| 松潘县| 通城县| 元阳县| 和平区| 永丰县| 沙坪坝区| 两当县| 屯门区| 昆明市| 汉源县| 富民县| 肇源县| 兴安盟| 措勤县| 滕州市| 五峰| 红桥区| 辽源市| 公安县| 宜宾县| 石嘴山市|