2013-01-21 98 views
0

我想打開多個文件,文件名改變很少。打開多個文件

例如,我想開

abc.001.xyz.010.trj 

一些手術後到我想將結果保存到文件中的數據文件:

out.abc.001.xyz.010.trj.dat 

而這個過程應該繼續下去,直到10個文件。

我知道如何打開這個文件

readfile = abc.001.xyz.010.trj 
f = open(readfile, "r") 

後來我試着寫爲文件

outfile = out.readfile 
f = open(outfile, "w") 

,但我失敗了。期望得到輸出文件爲

out.abc.001.xyz.010.trj.dat 

每個循環。

謝謝。

+2

不應該有角落找尋文件名引號?另外什麼是'out.readfile'?那裏有什麼? –

+0

@IvayloStrandjev:我假設他的意思是''out。'+ readfile'。 – martineau

回答

7

我知道如何打開這個文件

不,你不知道。您對filename的初始化無效,將導致SyntaxError

你應該寫

readfile = "abc.001.xyz.010.trj" 
f = open(readfile, "r") 

並以類似的方式,打開輸出文件

outfile = "out." + readfile 
f = open(outfile, "w") 

順便說一下,還有其他一些問題,在你的代碼是不是很傳統的。

一般人往往open文件和close它不依賴於垃圾收集,甚至更好,奉上with整個內部文件操作構建

+0

感謝您的回覆。感謝您也突出顯示了錯誤。我錯過了報價。這段代碼幫助我簡化了現在的計算。我剛剛接觸python,但仍然繼續學習。問候 – Vijay