簡體   English   中英

如何使用python將多個輸入寫入文本文件?

[英]how to write multiple inputs to text file using 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)。 AND,最好使用“ ”來處理文件!

您還可以在每個輸入的末尾添加換行符\\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)

您走在正確的道路上,只需要對代碼進行一些更改。 試試看它的大小。

73年代

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 =我需要許可證嗎

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM