2017-09-14 104 views
-3

基本上我正在嘗試做的是我正在嘗試使它成爲可以逐行讀取文件,然後在文本之後添加某個文本顯示Python按行讀取文件並寫入不同的文件

例如。

代碼:

file = open("testlist.txt",'w') 
file2 = open("testerlist.txt",'r+') 

//This gives me a syntax error obviously. 

file.write1("" + file + "" + file2 + "") 

文本清單

在我testlist.txt它列出:

OS

Testerlist

在我的testerlist.txt它列出如下:

我想一個文本從一個文件複製和讀取另一個文件,並將其添加到爲前一個新的文件的開頭[。 accounts.txt。

我的最終結果

對於我的最終的結果我想擁有它是這樣的:

os010101

(順便說一句我擁有所有正確的代碼,它只是我我用這個作爲例子,所以如果我缺少任何值,只是因爲我懶得添加它。)

回答

0

您可以使用file.read()來讀取文件的內容。然後,只需兩個文件連接的數據並寫入到輸出文件:

with open("testlist.txt") as f1, open("testerlist.txt") as f2, \ 
     open("accounts.txt", "w") as f3: 
    f3.write(f1.read().strip() + f2.read().strip()) 

注意,讀打開文件時,「模式」是不需要的。

如果你需要寫在特定順序線,您可以使用file.readlines()讀線到一個列表,並file.writelines()寫多行輸出文件,如:

with open("testlist.txt") as f1, open("testerlist.txt") as f2, \ 
      open("accounts.txt", "w") as f3: 
     f1_lines = f1.readlines() 
     f3.write(f1_lines[0].strip()) 
     f3.write(f2.read().strip()) 
     f3.writelines(f1_lines[1:]) 
+0

dam,看起來像是,該代碼可以工作,並確實它所做的事情是什麼,但它的東西是,它將文本文件在寫入時進行空格分隔,例如,如果我在testlist.txt中進行了測試,並且如果我還在testerlist.txt中進行了測試,它將在accounts.txt中進行測試。 st然後被隔開即時通訊試圖讓測試測試沒有間隔,所以它變成這樣:testtest – Roto

+0

然後只需使用[''str.strip()'](https://docs.python.org/3/library/ stdtypes.html#str.strip)。 –

+0

非常感謝你的工作!如果你不介意,而且我知道這可能有點多,但是,你能幫我製作測試表嗎?txt逐行讀取並在讀取第一行時寫入第一行並加上整個testlist.txt(例如)。 [在testlist.txt中它會說aa ab ac ad ae .... zz等等。我已經有了列表,不用擔心] [在testerlist.txt中它會有010101,010201,0.01,03,01等等]我想要第一行寫第一行文本+整個testerlist.txt,然後一旦完成閱讀,它將移動到第二行,等等。 – Roto

0

請試試這樣的事情:

with open('testlist.txt', 'r') as f: 
    input1 = f.read() 

with open('testerlist.txt', 'r') as f: 
    input2 = f.read() 

output = input1+input2 
with open("accounts.txt", "a") as myfile: 
    myfile.write(output) 
+0

該代碼的作品,但爲有反正我可以寫它的代碼,並沒有在文本文件中的不同行上的input1和input2,更具體地說,它讀取了兩個文件,並將它們合併成一個文本源 – Roto