我正在尝试使程序将它们写到新文件中。单独完成每一行很容易,但是结合在一起会产生问题。
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."
#this here results a syntax error..
target.write (\%r, \%r, \%r) % (line1, line2, line3)
#what do?
答案 0 :(得分:1)
使用python 3,您可以使用f字符串
target.write (f"{line1} {line2} {line3}")
您可以在官方文档中找到有关f字符串的更多信息 https://www.python.org/dev/peps/pep-0498/
答案 1 :(得分:0)
在Python中,您可以使用+
运算符连接字符串,因此请尝试:
target.write(line1+line2+line3)
编辑:带有换行符的版本:
target.write(line1+"\n"+line2+"\n"+line3)
答案 2 :(得分:0)
尝试:
targe.write('{} {} {}'.format(line1,line2,line3))
或旧格式:
target.write('%r %r %r' % (line1,line2,line3))
答案 3 :(得分:0)
使用当前的编写行的方法,您需要在字符串中包含“%r”,并且“%(line1,line2,line3)”必须位于“ target.write()”中函数调用
target.write("%r %r %r" % (line1, line2, line3)
但是您也可以尝试使用writelines方法
with open("test.txt", "w+") as file:
file.writelines([line1, line2, line3])
您还可以将输入包装成一个循环,以从用户那里获取任意数量的行
lines = []
lineCount = 5
for l in range(lineCount):
lines.append(input("Line %d: " % l) + "\n")
with open("test.txt", "w+") as file:
file.writelines(lines)