2015-08-15 239 views
0

我正在寫一個火腿電臺記錄器。 我想寫多個輸入,但有換行符。這是我的例子。如何使用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很陌生。

+1

'f.write(問題1 + 「\ n」 個問題2 + + 「\ n」 個)'或'f.write( 「{} \ N {} \ n」 個.format(問題1,問題2))' –

回答

0

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)。和,最好用「」來處理文件!

-1

您在正確的道路上,只需對代碼進行一些更改即可。試試這個大小。

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

+0

仍然這個代碼不會添加任何'換行符' – Thiru

+0

是的,完全忘了那個。現在添加 – b8con

0

你也可以在每個輸入的末尾添加一個新行字符\n或輸入存儲到列表,並將其寫入文件

itemlist = [] 
itemlist.append(raw_input("Your question")) 
with open("text_file","w+") as outfile: 
    outfile.write("\n".join(itemlist)) 

注意,with自動關閉打開的文件。

0

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)