Python,编写多行

时间:2014-11-28 23:25:51

标签: python

很抱歉,如果这个问题遇到一个小小的新手,但我一直在寻找一段时间,但却找不到任何相关内容。

我正在测试如何根据请求将多行写入新行上的txt文件。我似乎无法写到换行符。这就是我目前所拥有的。

import __builtin__

title=('1.0')
des=('1.1')
img=('1.2')
tag=('1.3')
tag2=('1.4')
tag3=('1.5')

tf = 'textfile.txt'
f2 = open(tf, 'a+')
f2.writelines([title,des,img,tag,tag2,tag3])
f2.close()

title=('2.0')
des=('2.1')
img=('2.2')
tag=('2.3')
tag2=('2.4')
tag3=('2.5')

tf = 'textfile.txt'
f2 = open(tf, 'a+')
f2.writelines([title,des,img,tag,tag2,tag3])
f2.close()

title=('3.0')
des=('3.1')
img=('3.2')
tag=('3.3')
tag2=('3.4')
tag3=('3.5')

tf = 'textfile.txt'
f2 = open(tf, 'a+')
f2.writelines([title,des,img,tag,tag2,tag3])
f2.close()

非常感谢,

2 个答案:

答案 0 :(得分:0)

只需在每行后添加\n即可。例如:

f2.write(title + '\n')
f2.write(des + '\n')
f2.write(tag + '\n')
...

答案 1 :(得分:0)

with open('xyz.txt', 'w') as fp:
    fp.writelines([ each_line + '\n' for each_line in ['line_1','line_2','line_3']])
写作时,

writelines()不会附加换行符'\n'

writelines(...)
writelines(sequence_of_strings) -> None.  Write the strings to the file.

请注意,不会添加换行符。序列可以是任何可迭代对象  产生字符串。这相当于为每个字符串调用write()

line_1
line_2
line_3

所以你可能需要这样做:

案例1:

tf = 'textfile.txt'
f2 = open(tf, 'a+')
f2.writelines([str(data) + '\n' for data in [title,des,img,tag,tag2,tag3]])
f2.close()

案例2:

tf = 'textfile.txt'
f2 = open(tf, 'a+')
f2.write(', '.join([str(data) for data in [title,des,img,tag,tag2,tag3]]) + '\n')
f2.close()