Python 将数据添加到txt文件(并保存在该文件中)

Python 将数据添加到txt文件(并保存在该文件中),python,file,parameters,Python,File,Parameters,我是一个完全的编程初学者。我试图添加一些信息到一个txt文件,但它不工作。。。它会打印参数,但不会将其添加到txt文件中。所有的帮助将不胜感激 def addpersons(student_number, name, phone_number): new_person = student_number + name + phone_number data = data + new_person with open("data.txt", 'w') as f: f.wr

我是一个完全的编程初学者。我试图添加一些信息到一个txt文件,但它不工作。。。它会打印参数,但不会将其添加到txt文件中。所有的帮助将不胜感激

def addpersons(student_number, name, phone_number):

new_person = student_number + name + phone_number
data = data + new_person

with open("data.txt", 'w') as f:
  f.write (data)

print(200300, "Jim", "031213245123")

这就是你所有的密码吗?因为在未定义
数据的地方添加data+person,所以应该会抛出一个错误。您可能看不到,因为如果这是您的全部代码,那么您没有调用函数add all

要使其正常工作,请确保实际调用函数
addperson
,并确保在执行之前定义了数据
data=data+person

另外,在
f.write
(数据)
之间不应该有空格,但我怀疑这是否重要

以下是一个应该有效的版本:

def addpersons(student_number, name, phone_number):
    new_person = str(student_number) + name + phone_number

    with open("data.txt", 'w') as f:
        f.write(new_person)

addpersons(200300, "Jim", "031213245123")
print(200300, "Jim", "031213245123")

我看了一下你的代码,就说它完全错了。另外,在将来,请使用带有反勾号的md功能简单地粘贴您的代码,这使尝试回答的人的生活更加轻松,无论如何,我离题了。你的第一个错误是在这一行
new\u person=学生号+姓名+电话号码
学生号是一个整数,在python中不能包含int和str,可以使用
str()
builtin将其转换为字符串。 您的下一个错误是:
data=数据+新人
在此之前没有定义数据,我假设您这样做是为了让多人加入,但是您可以通过附加到文件而不是编写来实现这一点。这可以通过以下方式实现:
打开(“data.txt”、“a”)作为f:
然后你可以做:

with open("data.txt", "w") as f:
    f.write(new_student)
试试这个:

def addpersons(student_number, name, phone_number):

    data = ""
    new_person = str(student_number) + name + str(phone_number)
    data = data + new_person
    
    with open("data.txt", 'a') as f:
        f.write(data + '\n')

addpersons(200300, "Jim", "03121324")
addpersons(12345, "Jorj", "098765434")
def addpersons(student_number, name, phone_number):

    data = ""
    new_person = str(student_number) + "\t" + name + "\t" + str(phone_number)
    data = data + new_person
    
    with open("data.txt", 'a') as f:
        f.write(data + '\n')

addpersons(200300, "Jim", "03121324")
addpersons(12345, "Jorj", "098765434")
输出:

或者试试这个:

def addpersons(student_number, name, phone_number):

    data = ""
    new_person = str(student_number) + "\t" + name + "\t" + str(phone_number)
    data = data + new_person
    
    with open("data.txt", 'a') as f:
        f.write(data + '\n')

addpersons(200300, "Jim", "03121324")
addpersons(12345, "Jorj", "098765434")
输出:


欢迎来到SO!请将代码复制到您的问题中,然后重试;不要将其作为截图发布,因为这会使人们无法复制/粘贴您的代码并亲自尝试。您并没有实际调用该功能。尝试
addpersons(1,“a”,“1”)
您正在尝试将
数据
写入文件,并且从不将
数据
传递给您的函数。您的IDE告诉您查看带下划线的代码谢谢您的反应!我在上面。