我如何获得多个名称和数字以放入文本文件?

问题描述 投票:-1回答:1

我需要该程序记录多个名称和数字,然后在将它们输入用户后,按Enter键并退出

while(True):    
  string1=input("Enter First Name: ") 
  string2=input("Enter Last Name: ")      
  outFile= open("names.txt", 'w')
  firstname= string1
  lastname= string2
  outFile.write(string1.upper()+"\n"+string2.upper()+"\n")
  outFile.close()
python
1个回答
1
投票

您需要附加到文件中。目前,您每次迭代都覆盖文件。

while(True):

    string1=input("Enter First Name: ")

    if string1 == '':
        break

    string2=input("Enter Phone number: ")

    with open("names.txt", 'a') as outFile:
        outFile.write(string1.upper()+"\n"+string2.upper()+"\n")

您还可以将文件移到循环之外。这将使文件保持打开状态,直到您退出程序。

with open("names.txt", 'w') as outFile:
    while(True):

        string1=input("Enter First Name: ")

        if string1 == '':
            break

        string2=input("Enter Phone number: ")        
        outFile.write(string1.upper()+"\n"+string2.upper()+"\n")

这两个版本之间的功能略有不同。第一个将在程序运行之前保留文件中已经存在的所有内容。后者将覆盖任何现有内容并重新启动文件。

有关with的更多信息以及为什么它意味着您不需要自己关闭文件,请参阅here。>>

© www.soinside.com 2019 - 2024. All rights reserved.