2012-03-08 93 views
0

我想抓住Dir中的所有文本文件並將文件名存儲在列表中,以便我可以將它們發送到運行某些Photoshop的方法在文件上並以不同的格式導出它們。在Dir中的文本文件並將文件名存儲在列表中python

這出於某種原因我的計數器(計數)是給我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 
+1

你也真的不應該混合製表符和空格。 – Johnsyweb 2012-03-08 19:34:32

回答

1

是的,你是儲存該列表不正確。您定義,而是將項目添加到它的一個空列表,你重新綁定將列表的名稱改爲單個文件名,請嘗試將for循環更改爲以下內容:

editFiles = [] 
for item in dirListing: 
    if ".txt" in item: 
     editFiles.append(item) 
6

好像你是過於複雜的東西。

dirListing = os.listdir(path) 
    editFiles = [] 
    for item in dirListing: 
    if ".txt" in item: 
     editFiles.append(path+'\\'+item) 
    print editFiles 
+0

謝謝!我傾向於過分複雜的東西:) – 2012-03-08 19:23:11

+0

@ jon-crawley。我的榮幸。只是不要忘記接受答案。 – user850498 2012-03-08 19:46:26

相關問題