我有一个目录树格式的大数据,如:
c:/user/name/class/std/section I to VI [all section has individual folder i.e. 6 folder in total and all folder have 100+ files to be processed]
我写了一个脚本,如果我给包含文件的文件夹,例如Section I
,那么它将使用glob.iglob
函数处理文件。
是否可以编写一个脚本,只需输入一个目录即可遍历目录>处理文件>离开目录>进入不同目录>等等。
请帮忙。
答案 0 :(得分:4)
你可以试试这段代码:
import os
folder = 'C:'
for root, dirs, files in os.walk(folder):
for name in files:
print os.path.join(root, name)
for name in dirs:
print os.path.join(root, name)
更新:
导入操作系统 folder ='C:'
for root, dirs, files in os.walk(folder):
for name in files:
nm, ext = os.path.splitext(name)
if ext == ".csv":
print os.path.join(root, name)
答案 1 :(得分:0)
import os
for (dirpath, dirnames, filenames) in os.walk(directory):
# Do some processing
这将遍历指定目录的根目录,例如。 c:/user/name/class/std
并输入其中包含的每个文件夹,并为其提供其中包含的文件夹和文件。有了它,你应该能够做你需要的处理方式。
答案 2 :(得分:0)
解决Abhisek对Aragon解决方案的评论:
导入操作系统 folder ='C:'
for root, dirs, files in os.walk(folder):
for name in files:
(base, ext) = os.path.splitext(name)
if ext in "csv":
print os.path.join(root, name)