Python:需要将选定的文件名添加到数组中

时间:2014-12-02 21:56:04

标签: python arrays python-3.x

这个想法很简单:有一个包含2个或更多文件* .txt的目录。我的脚本应查看目录并获取文件名,以便通过网络复制它们(如果存在)。 作为一个Python新手,我面临着迄今无法解决的问题。 我的代码:

files = os.listdir('c:\\Python34\\');
for f in files:
    if f.endswith(".txt"):
    print(f)

此示例返回3个文件:

LICENSE.txt
NEWS.txt
README.txt

现在我需要使用每个文件名才能做SCP。问题是当我尝试使用:

获取第一个文件名时
print(f[0])

我只收到列表中每个文件的第一个字母:

L
N
R

如何将文件名添加到数组中以便以后将它们用作数组元素?

3 个答案:

答案 0 :(得分:1)

您也可以尝试使用EXTEND方法。所以你说:

x = []
for f in files:
     if f endswith(".txt"):
           x.extend([f])

所以它会"添加"在列表的末尾,f所在的文件。

答案 1 :(得分:0)

文件数组为files。在循环中,f是单个文件名(字符串),因此f[x]获取文件名的第x个字符。请files[0]代替f[0]

答案 2 :(得分:0)

如果您想要list个匹配的文件名,那么请使用具有合适模式的os.listdir,而不要使用glob.glob和过滤。

import glob
files = glob.glob('C:\\python34\\*.txt')

然后您可以访问files[0]等...