日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python中文件遍歷的兩種方法

系統 2123 0

關于Python的文件遍歷,大概有兩種方法,一種是較為便利的os.walk(),還有一種是利用os.listdir()遞歸遍歷。

方法一:利用os.walk

os.walk可以自頂向下或者自底向上遍歷整個文件樹,然后返回一個含有3個元素的tuple,(dirpath, dirnames, filenames),要注意的是,os.walk()會返回一個generater,所以調用的時候一定要放到for循環中。

復制代碼 代碼如下:

import os
def walk_dir(dirname):
?for root,dirs,files in os.walk(dirname):
??for f in files:
???yield os.path.join(root, f)



方法二:利用os.listdir()

這個方法也比較簡單,列出目錄然后判斷是不是文件夾,不是的話直接返回文件路徑,是的話遞歸調用。

復制代碼 代碼如下:

import os
def walk_dir2(dirname):
?for d in os.listdir(dirname):
??path = os.path.join(dirname, d)
??if os.path.isdir(path):
???#note recursive in for...in...
???for f in walk_dir2(path):
????yield f
??else:
???yield path

這里值得一提的是,由于函數中使用了yield,所以會被認為是一個generater,遞歸調用的時候也需要放到for循環中,否則函數并不會被真正執行。最新的Python 3.3中引入了yield from語法,可以解決上面的問題。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 凤凰县| 罗定市| 阿瓦提县| 金山区| 措美县| 紫阳县| 康定县| 浑源县| 浙江省| 黄大仙区| 昌都县| 宁津县| 壶关县| 文昌市| 抚松县| 遵义县| 葫芦岛市| 仲巴县| 喀喇沁旗| 红原县| 金沙县| 柳州市| 襄垣县| 郯城县| 商洛市| 日土县| 若尔盖县| 长顺县| 桂平市| 寻甸| 那坡县| 霞浦县| 合水县| 黄平县| 高碑店市| 武强县| 高邮市| 礼泉县| 建湖县| 吴旗县| 若羌县|