我有以下代码:
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")
Run Code Online (Sandbox Code Playgroud)
这里target是文件对象,line1,line2,line3是用户输入.我想只使用一个target.write()命令来编写这个脚本.我尝试过使用以下内容:
target.write("%s \n %s \n %s \n") % (line1, line2, line3)
Run Code Online (Sandbox Code Playgroud)
但是不是将字符串放在另一个字符串中但是如果我使用以下内容:
target.write(%s "\n" %s "\n" %s "\n") % (line1, line2, line3)
Run Code Online (Sandbox Code Playgroud)
Python解释器(我使用的是Microsoft Powershell)说的语法无效.我怎么能这样做?
aIK*_*Kid 30
你的大括号令人困惑.像这样做:
target.write("%s \n %s \n %s \n" % (line1, line2, line3))
Run Code Online (Sandbox Code Playgroud)
甚至更好,使用writelines:
target.writelines([line1, line2, line3])
Run Code Online (Sandbox Code Playgroud)
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))
Run Code Online (Sandbox Code Playgroud)
另一种方式,至少对我来说,似乎更直观:
target.write('''line 1
line 2
line 3''')
Run Code Online (Sandbox Code Playgroud)