如何使用python将多个输入写入文本文件?
问题描述:
我正在写一个火腿电台记录器。 我想写多个输入,但有换行符。这是我的例子。如何使用python将多个输入写入文本文件?
raw_input = question1(' text here ')
raw_input = question2(' ')
f.write(question1)
print ' '
f.write(question2)
print ' '
有没有一种方法来结合到2之间的换行符? 我试过
f.write(question1, "\n" question2, "\n")
但我得到错误。我只是想缩短它。我对Python很陌生。
答
q1=raw_input('question 1:') q2=raw_input('question 2:') with open('a.txt','w+') as f: f.writelines(q1+'\n') f.writelines('\n') f.writelines(q2+'\n')
输入
问题1:你好?
问题2:是!
输出:
您好吗?
“换行符”
是的!顺便说一句,如果你想输出一些特殊格式的文件,你可以使用json(import json)。和,最好用“与”来处理文件!
答
您在正确的道路上,只需对代码进行一些更改即可。试试这个大小。
73S
question1 = raw_input('Any question? ')
question2 = raw_input('What is another question you have? ')
f = open('filename.txt', 'wb')
f.write("QUESTION 1 = " + str(question1) + "\nQUESTION 2 = " + str(question2))
f.close()
输出看起来就像这样......
问题1 =什么是业余无线电?
问题2 =我需要一个许可证
答
你也可以在每个输入的末尾添加一个新行字符\n
或输入存储到列表,并将其写入文件
itemlist = []
itemlist.append(raw_input("Your question"))
with open("text_file","w+") as outfile:
outfile.write("\n".join(itemlist))
注意,with
自动关闭打开的文件。
答
print
正在写入标准输出,而不是f
(我认为这是一个打开的文件句柄)。 write
方法本身不会添加换行符,尽管您当然可以添加换行符。
f.write(''.join(question1, '\n', question2, '\n'))
将所有内容加入到一个字符串中仅用于打印并不是必需的。你可以写的东西零碎的,和/或使用+
字符串的串联,也:
f.write(question1 + '\n')
f.write(question2 + '\n')
甚至只是
f.write(question1)
f.write('\n')
f.write(question2)
f.write('\n')
你可以Python的字符串格式化与格式化成字符串,太插值变量:
f.write('{0}\n{1}\n'.format(question1, question2))
或一度盛行%
插值算:
f.write('%s\n%s\n' % (question1, question2))
在Python 2.6及更高版本中,您可以使用from __future__ import print_function
,然后可以使用带有可选file=
参数的Python 3 print
函数。这实际上是我在这里推荐的。 print
默认添加了一个换行符(尽管可以根据需要关闭)。
print(question1, file=f)
print(question2, file=f)
'f.write(问题1 + “\ n” 个问题2 + + “\ n” 个)'或'f.write( “{} \ N {} \ n” 个.format(问题1,问题2))' –