我的代码:
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)。当我输入名称/单词时,名称/单词的所有字母(在本例中为john)都显示在不同的行上。我希望它们出现在一条线上(不是分布在四条线上,而是全部在一条线上)。我该怎么办?此外,当我打印txt文件(settings.txt)上的任何内容时,它在每行后面都是'\ n'。我该如何去除它?
答案 0 :(得分:1)
您逐个字符地迭代adding
,并将它们分别写在一个单独的行中。你应该简单地写adding
,因为它是
f.write(adding)
修改:要在新行中编写当前名称,您可以使用此类format
方法
f.write("\n{}".format(adding))
答案 1 :(得分: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())