很抱歉,如果这个问题遇到一个小小的新手,但我一直在寻找一段时间,但却找不到任何相关内容。
我正在测试如何根据请求将多行写入新行上的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()
非常感谢,
答案 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()