2017-09-14 132 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