Python 如何在一个文本文件中获取多个名称和数字?

Python 如何在一个文本文件中获取多个名称和数字?,python,Python,我需要程序记录多个名称和数字,然后在我将它们放入用户界面后,点击回车键,它就会退出 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()+"\

我需要程序记录多个名称和数字,然后在我将它们放入用户界面后,点击回车键,它就会退出

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()

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

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")
这两个版本的功能略有不同。第一个将在程序运行之前保留文件中已有的任何内容。后者将覆盖任何现有内容并重新启动文件


有关使用的
以及为什么它意味着您不需要自己关闭文件的详细信息,请参阅。

我犯了一个错误,我想用数字更改姓氏,我必须输入一个电话号码和一个名字。其实,所有字符串都无关紧要。@rocklee336我将第二个输入改为打印
“输入电话号码”:
。如果你不介意,还有一件事。我需要它来读回目前为止我有这个,但它不工作inputFile=open(“phoneindex.txt”,“r”)text=inputFile.read print(text)inputFile.close()你是说要在循环中读回值吗?还是在循环之后
text=inputfile.read肯定是错误的。您只是将函数与变量相关联。如果希望函数返回任何内容,例如
text=inputfile.read()
,则需要调用该函数。