2013-12-12 83 views
-4

我正在尝试创建一个将文本写入另一个文件的代码。这是我的代码到目前为止。写入另一个文本文件和更多?

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) 

当其加入到txt文件就出现这样的: 布拉赫1 布拉赫2 布拉赫3 Ĵ Ø ^ h nJohn

我如何得到它是水平状'Blah 1'和'Blah 2'? 另外,当我从python的记事本打印数据时,它在每行之后都有'/ n',例如'Blah 1/n' 有人能帮我找到我可能出错的地方吗?

+0

你想要读取和写入什么文件? – aplassard

+0

记事本文本文件。我输入的文字全部出现在不同的行上。例如我输入john。那么这将在记事本文件上,每行有一个字母。 – PythonBeginner

+2

你的代码中的哪些文件?它非常不清楚。你似乎打开了几个文件,然后不做任何事情。你想写settings.txt,阅读settings.txt等?应该增加什么? – aplassard

回答

0
import random 
import time 
adding = input("Enter Name: ") 
with open("settings.txt", "a+") as f: 
    f.write('\n'.join(i for i in adding.split() if len(adding.split(" "))>1 else adding)) 
    data = a.readlines() 
for line in data: 
    print (line) 
time.sleep(10) 

试试这个。这会提示用户输入,并将输入拆分为多个空格(如果输入“Adam D. Smith”,则返回[“Adam”,“D”,“Smith”])如果有多个单词,则发送每个单词到文本文件“settings.txt”,一次追加到最后一行,然后通过数据读取文件,一次读取一行。

>>>Enter Name: Adam D Smith 
Adam 
D 
Smith 

这是预期的行为?

+0

对我来说,这是说错误无效语法。我正在使用python 3.3.2。让我试着让这个更清晰一点。我想能够输入一个单词到python中,然后写入一个文本文件(settings.txt)。当我输入约翰时,它会出现在不同行上的每个字母。我希望它能在一条线上完成。我希望这可以让它更清晰一些。 – PythonBeginner

+0

将错误消息的追溯记录到您的问题中,并回复我的评论,以便在编辑完成后通知我。这不应该发生。你是否复制/粘贴你的代码? –

+0

语法无效。然后突出显示第5行的'else' – PythonBeginner

相关问题