艺赛旗(RPA)Python:遍历输出某路径下的所有文件和文件夹
藝賽旗 RPA8.0全新首發免費下載 點擊下載
http://www.i-search.com.cn/index.html?from=line1 詳細內容請參看藝賽旗官網支持欄目:RPA社區
點擊鏈接進入 http://support.i-search.com.cn/
怎么遍歷輸出某路徑下的所有問價和文件夾?
這個問題和,“指定一個節點,輸出以這個節點作為根節點的這棵樹的所有子節點”一樣。
遞歸可以實現。
如果是葉子節點(文件)了,就輸出這個葉子節點的名稱,返回。
否則,輸出這個節點的名稱(文件夾),并以這個結點再次作為根節點,遍歷輸出它的所有子節點。
-- coding: utf-8 --
import os
def traverse(f):
fs = os.listdir(f)
for f1 in fs:
tmp_path = os.path.join(f,f1)
if not os.path.isdir(tmp_path):
print(‘文件: %s’%tmp_path)
else:
print(‘文件夾:%s’%tmp_path)
traverse(tmp_path)
path = ‘F:/source_files/python/’
traverse(path)
有個問題需要注意的是,用 os.listdir() 這個函數,只會返回路徑下的所有文件名(而這些文件名不含路徑)……
所以要寫成絕對路徑??梢杂?os.path.join 這個函數。
In [1]: import os
In [2]: os.path.join(‘a’,‘b’)
Out[2]: ‘a\b’
也可以調用 os.walk 這個函數。
import os
path = ‘F:/source_files/python/’
for fpathe,dirs,fs in os.walk(path):
for f in fs:
print(os.path.join(fpathe,f))
返回的是一個三元 tupple(dirpath, dirnames, filenames),
其中第一個為起始路徑,第二個為起始路徑下的文件夾, 第三個是起始路徑下的文件。
dirpath 是一個 string,代表目錄的路徑,
dirnames 是一個 list,包含了 dirpath 下所有子目錄的名字,
filenames 是一個 list,包含了非目錄文件的名字,這些名字不包含路徑信息。如果需要得到全路徑, 需要使用 os.path.join(dirpath, name)。
當然,你也可以使用設計器的組件查找文件組件,該組件返回的是一個 list
總結
以上是生活随笔為你收集整理的艺赛旗(RPA)Python:遍历输出某路径下的所有文件和文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算圆周长和面积
- 下一篇: Go爬取起点中文网 解决文字反爬