我试图抓取Dir中的所有文本文件并将文件名存储在列表中,这样我就可以将它们发送到一个方法,该方法在文件上运行一些Photoshop并以不同的格式导出它们。
由于某些原因,我的计数器(计数)给了我一个12的输出(文件名中的字符数:(我是否存储了不正确的列表?
import win32com.client
import os
def GetFolder():
file = open('C:\\appData\\File.txt')
string = file.readlines()
path = string[0]
dirListing = os.listdir(path)
editFiles = []
for item in dirListing:
if ".txt" in item:
editFiles = item
count = len(editFiles)
catch = 0
print "count= "
print count
print "Catch= "
print catch
print editFiles
print '-----------------------------------------
while catch <= count:
print editFiles
catch +=1
我要循环抛出while循环的方法
输出
count=
12
Catch=
0
TextFile.txt
-----------------------------------------
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
TextFile.txt
答案 0 :(得分:10)
好像你过分复杂了。
dirListing = os.listdir(path)
editFiles = []
for item in dirListing:
if ".txt" in item:
editFiles.append(path+'\\'+item)
print editFiles
答案 1 :(得分:1)
是的,您正在不正确地存储列表。您定义一个空列表,但不是向其添加项目,而是将列表名称重新绑定为单个文件名,尝试将for循环更改为以下内容:
editFiles = []
for item in dirListing:
if ".txt" in item:
editFiles.append(item)