Python - 列出文件夹中的文件 - 带有变量的路径名

时间:2011-02-21 12:15:16

标签: python path

我对此非常陌生。我正在使用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()

我明白为什么它不起作用,但我不明白我是如何使它发挥作用的。

2 个答案:

答案 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()中的所有内容。