2010-05-28 77 views
0

我有一個大約1000個文件的目錄....我想爲這些文件中的每一個運行相同的代碼...目錄和文件相關的疑惑?

我的代碼需要輸入文件名。

我寫代碼,一個的信息複製到其他其他格式... 請提出一個方法,通過一對一的複製所有1000個文件,而不需要每次都

更改文件名和我有一個字段SERIAL_NUM需要被連續也就是說,如果1號文件中有高達30則,而應對其他文件,它應該從30not從0再次

需要幫助

感謝繼續..

from string import Template 
from string import Formatter 
import pickle 
f=open("C:/begpython/wavnk/text0004.lab",'r') 
p='C:/begpython/wavnk/text0004.wav' 
f1=open("C:/begpython/text.txt",'a') 
m=[] 
i=0 
k=f.readline() 
while k is not '': 
    k=f.readline() 
    k=k.rstrip('\n') 
    mi=k.split(' ') 
    m=m+[mi] 
    i=i+1 

y=0 
x=[] 
j=1 
t=(i-2) 
while j<t: 
    k=j-1 
    l=j+1 
    if j==120 or j==i: 
     j=j+1 
    else: 
     x=[] 
     x = x + [y, m[j][2], m[k][2], m[l][2], m[j][0], m[l][0], p] 
     y=y+1 
     #f1.writelines(str(x)+'\n') 
     for item in x: 
      f1.write(str(item)+' ') 
     f1.write(str('\n')) 
     j=j+1 

f.close() 
f1.close() 

我的代碼.....

和我像text0001 ..... text1500.lab系列所擁有的文件名稱,並希望在無需每次運行它們通過了變化名

每次給他們打電話
enter code here 
+2

發佈您的代碼。 – SilentGhost 2010-05-28 10:54:03

+1

並且數據文件的摘要 – extraneon 2010-05-28 11:00:39

+3

@kaushik:這個代碼只是純粹的廢話,與給定的問題無關。 – SilentGhost 2010-05-28 11:29:02

回答

1

你可以看看在glob模塊爲好。這很容易:

import glob 
list_of_files = glob.glob('C:/begpython/wavnk/*.lab') 

是的,它也適用於Windows。 但是,它只能找到匹配的文件,不會讀取它們或任何內容。通過你的代碼示例的外觀,你可能會也可能不會對python csv模塊感興趣。

+0

這個工作窗口? 任何類似的窗口這看起來gud – kaushik 2010-05-28 12:10:25

2

爲什麼不直接在目錄中的文件列表上使用迭代器?我會張貼一些示例代碼,但我確實感到你讓其他人爲你完成全部工作。

+0

哈哈!!! gud笑話... 請不要只是通過意見,才知道實際情況... 你不知道我在做什麼 ,你怎麼可以直接說出來 我自己寫了整個代碼.. 我只是問幫助和點,我犯了錯誤而奔跑,並沒有任何線索糾正它.. – kaushik 2010-05-28 11:25:28

+2

我對此表示懷疑,因爲這不是我想要的答案......但是後來我重讀了OP的「問題」,他只是提出了一個建議,而這個建議就是你提供的。我也完全同意你的感覺。不要懷疑OP,但我真的希望沒有人真正爲他發佈代碼,直到他證明他實際上已經付出了一些努力並且真正陷入困境。他將如何學習? – 2010-05-28 11:28:04

+2

@kaushik:你可能會想要檢查你的問題和你的態度。 – 2010-05-28 11:33:14

0

您可以使用[listdir] [1]列出目錄的內容。

您可以在分機)內置函數的過濾器的東西,如

allnames = listdir... 
inputnames = [name for name in allnames \ 
       where os.path.[splitext][2](name)\[1\] == ".lab" ] 

您還可以在過濾器()或地圖(。

http://docs.python.org/library/os.path.html#os.path.splitext