用python在一个文件中写入多行

2024-06-02 08:59:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")
print "I'm going to write these to the file."
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")

这里的目标是文件对象,第1行、第2行、第3行是用户输入。 我只想使用一个target.write()命令来编写这个脚本。我试过使用以下方法:

target.write("%s \n %s \n %s \n") % (line1, line2, line3)

但这不是把一个字符串放在另一个字符串中,而是如果我使用以下命令:

target.write(%s "\n" %s "\n" %s "\n") % (line1, line2, line3)

Python解释器(我使用的是Microsoft Powershell)说语法无效。 我怎么能做到呢?


Tags: to字符串代码命令targetinputrawline
3条回答
with open('target.txt','w') as out:
    line1 = raw_input("line 1: ")
    line2 = raw_input("line 2: ")
    line3 = raw_input("line 3: ")
    print("I'm going to write these to the file.")
    out.write('{}\n{}\n{}\n'.format(line1,line2,line3))

你把牙套弄糊涂了。这样做:

target.write("%s \n %s \n %s \n" % (line1, line2, line3))

或者更好的方法是使用writelines

target.writelines([line1, line2, line3])

我注意到,这是一个学习练习从书“学习Python的艰难方式”。尽管你3年前就已经问过这个问题,但我现在把这个发给新用户,让他们说不要直接在stackoverflow中提问。至少在询问之前先阅读文档。

就问题而言,使用writelines是最简单的方法。

像这样使用:

target.writelines([line1, line2, line3])

正如阿尔基德所说,你把括号弄乱了,就照他说的去做。

相关问题 更多 >