这个想法很简单:有一个包含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
如何将文件名添加到数组中以便以后将它们用作数组元素?
答案 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]
等...