我对此非常陌生。我正在使用python,我想列出许多不同文件夹中的文件(使用Windows)
在我第一次去的时候,我有很多路径变量。每条路径都有自己的变量。它起作用了,但这似乎是一个漫长的方式。由于路径与文件夹名称完全相同,我尝试了这个:
import os
folder = ["folderA", "folderB", "folderC", "folderD"]
path1 = input('//server/files/"%s"/data' % (folder))
def list_sp_files():
for filename in os.listdir(path1):
print path1, filename
print "reporter"
list_sp_files()
我明白为什么它不起作用,但我不明白我是如何使它发挥作用的。
答案 0 :(得分:3)
或许这样的事情?
folders = ["folderA", "folderB", "folderC", "folderD"]
def list_sp_files():
for folder in folders:
path = '//server/files/%s/data' % (folder)
for filename in os.listdir(path):
print path, filename
答案 1 :(得分:1)
尝试将path1
更改为:
path1 = ["//server/files/%s/data" % f for f in folder]
并将list_sp_files()
更改为:
def list_sp_files(path_list):
for path in path_list:
for filename in os.listdir(path):
print path, filename
并通过
调用list_sp_files(path1)
基本上,这个答案使path1
变量成为带有生成器表达式的字符串列表 - 它通过遍历folder
列表创建一个列表,并为那里的每个项目运行"//server/files/%s/data" % f
。
更改后的list_sp_files()
只是遍历给定的路径列表,并打印os.listdir()
中的所有内容。