Dir中的文本文件,并将文件名存储在列表python中

时间:2012-03-08 19:10:36

标签: python

我试图抓取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

2 个答案:

答案 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)