Python,写多行

2024-10-16 23:22:04 发布

您现在位置: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()

非常感谢


Tags: 文件txtimgwritelinesclosetitletftag
2条回答

只要在每行后面加上\n。例如:

f2.write(title + '\n')
f2.write(des + '\n')
f2.write(tag + '\n')
...
with open('xyz.txt', 'w') as fp:
    fp.writelines([ each_line + '\n' for each_line in ['line_1','line_2','line_3']])

^{}在写入时不附加换行符'\n'。你知道吗

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

请注意,不会添加换行符。序列可以是任何iterable对象 产生弦。这相当于为每个字符串调用^{}。你知道吗

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()

相关问题 更多 >