这是我写的代码。在将name
和hb
写入文件后,我希望能够查看我创建的文本文件的内容。
run=True
name=[]
hb=[]
list_data=()
def add_new():
name=input("Name: ")
hb=input("HB: ")
for n,h in zip(name,hb):
list_data=open("p.txt","w")
list_data.write("User:{0:>3s}\nHB:{1:>5s}\n".format(n,h))
list_data.close()
while run is True:
ask1=input("1. View\n2. Add\n3. Edit\n4. Remove\nPick a number: ")
if ask1=='1':
if not list_data:
print("Nothing to view")
else:
list_data=open("p.txt","r")
print(list_data.read())
elif ask1=='2':
add_new()
elif ask1=='3':
print("WIP")
elif ask1=='4':
print("WIP")
在SHELL中运行代码后,我得到了这个结果:
1. View
2. Add
3. Edit
4. Remove
Pick a number: 2
Name: test1
HB: test11
1. View
2. Add
3. Edit
4. Remove
Pick a number: 1
Nothing to view
当然,一旦代码要求我输入,test1
和test11
值就是我输入的内容。
另外,当我在记事本中打开txt文件时,我发现:
User: e
HB: e
我在这里做错了什么?
答案 0 :(得分:2)
打印你的n和h in" n,h in zip(name,hb)"。
你会看到,那个zip会给你一些元组。当您一次又一次打开文件时,它将被覆盖(因为您不使用追加模式)。