我的python文本文件显示为空

时间:2016-05-13 09:24:32

标签: python python-3.x fwrite

这是我写的代码。在将namehb写入文件后,我希望能够查看我创建的文本文件的内容。

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

当然,一旦代码要求我输入,test1test11值就是我输入的内容。

另外,当我在记事本中打开txt文件时,我发现:

User:  e
HB:    e

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

打印你的n和h in" n,h in zip(name,hb)"。

你会看到,那个zip会给你一些元组。当您一次又一次打开文件时,它将被覆盖(因为您不使用追加模式)。

看看: https://docs.python.org/2/tutorial/inputoutput.html