如何使用 python 中的追加将多个输入写入文本文件?

how to write multiple inputs to text file using append in python?

while True:
    def student_info(name,age,gender):
        print("The student name is:",name)
        print("The student age is:",age)
        print("The student gender is:",gender)
    print("*"*70)
    Student_name=input("Enter Student name:")
    Student_age=input("Enter Student age:")
    Student_gender=input("Enter Student gender:")


    print("*"*70)

    with open('Try1.txt', 'w') as f:
      f.write(Student_name+" "+Student_age+" "+Student_gender)


    student_info(Student_name,Student_age,Student_gender)

    print("if you want add more students press 1 ")
    user_input=input("Enter:")
    if user_input=="1":

        with open('Try1.txt', 'a') as f:
          f.write(Student_name+" "+Student_age+" "+Student_gender)
        student_info(Student_name,Student_age,Student_gender)

我想在课文中添加更多的学生,但是当我再添加一个时,前一个被删除了..我需要帮助。

首先,在某些时候你需要一个break,以防用户没有输入1,否则你想continue循环。还有你在代码末尾复制数据插入。

试试这个:

while True:
    def student_info(name,age,gender):
        print("The student name is:",name)
        print("The student age is:",age)
        print("The student gender is:",gender)
    print("*"*70)
    Student_name=input("Enter Student name:")
    Student_age=input("Enter Student age:")
    Student_gender=input("Enter Student gender:")


    print("*"*70)

    with open('Try1.txt', 'a') as f:
      f.write('\n'+Student_name+" "+Student_age+" "+Student_gender)


    student_info(Student_name,Student_age,Student_gender)

    print("if you want add more students press 1 ")
    user_input=input("Enter:")
    if user_input=="1": continue
    else: break

问题是第一个openwhile循环里面,把它放到外面就好了。我重新格式化你的代码:

def student_info(name,age,gender):
    print("The student name is:",name)
    print("The student age is:",age)
    print("The student gender is:",gender)

while True:
    print("*"*70)
    Student_name=input("Enter Student name:")
    Student_age=input("Enter Student age:")
    Student_gender=input("Enter Student gender:")


    print("*"*70)

    with open('Try1.txt', 'a') as f:
      f.write(f"{Student_name} {Student_age} {Student_gender}")

    student_info(Student_name, Student_age, Student_gender)

    print("if you want add more students press 1 ")
    user_input=input("Enter:")
    if user_input != "1":
        break