2013-12-12 54 views
-1

我那麼遠代碼同一行,而不是每個:使字母出現在出現在自己的行

import random 
import time 
a = open("settings.txt", "r") 
b = open("settings.txt", "a") 
adding = input("Enter Name: ") 
with open("settings.txt", "a") as f: 
    f.write('\n'.join(str(i) for i in adding)) 
data = a.readlines() 
print (data) 
time.sleep(10) 

我settings.txt文件:

(empty) 

當我運行代碼:

Enter Name: John 
['Blah 1\n', 'Blah 2\n', 'Blah 3\n', 'J\n', 'o\n', 'h\n', 'n'] 

後,我已經跑了代碼我setting.txt文件:

J 
o 
h 
n 

我的問題: 我想寫一個代碼,這將允許我寫一個名稱或一般詞,然後它會寫/編輯txt文件(settings.txt)。當我輸入名稱/單詞時,名稱/單詞的所有字母(本例中爲約翰)都顯示在不同的行上。我希望它們出現在一行上(不是分佈在四行上,而是在一行上)。我會怎麼做?此外,當我打印每一行後的txt文件(settings.txt)作爲'\ n'。我將如何去除那個?

回答

0

你可以試試這個。

adding = input("Enter Name: ") 

with open("settings.txt", "a") as f: 
    f.write(adding) 

with open("settings.txt", "r") as fp: 
    print(fp.readlines()) 
1

您通過adding通過迭代字符,字符,並在單獨一行寫他們每個人。你只要簡單地寫adding,因爲它是

f.write(adding) 

編輯:要在新行寫入當前的名字,你可以使用format方法這樣

f.write("\n{}".format(adding)) 
+0

好吧,我會嘗試,現在! – PythonBeginner

+0

非常感謝你的工作!但現在的問題是,它只是成爲一個單詞而不是單獨行。 我settings.txt文件後「f.write(添加)」 SagarJohn – PythonBeginner

+0

@PythonBeginner歡迎您:)請考慮接受這個答案,如果它可以幫助你http://meta.stackexchange.com/a/5235/235416 :) – thefourtheye