我是编程的新手,我正在尝试创建用户数据的文件。我知道如何收集数据并将其写入文本文件,但我想将每个文件独立地命名为用户的姓氏。这是我到目前为止所做的:
fname=raw_input('Competitor forename : ')
sname=raw_input('Competitor surname : ')
email=raw_input('Email address : ')
phone=int(raw_input('Phone : '))
enter=raw_input('Have you already completed any games? (Yes/No) : ')
if enter=='yes':
dcurrent=raw_input('Please tell us your current division : ')
pcurrent=int(raw_input('Please tell us your current points : '))
print'Thank you'
else:
print'Welcome to the staff and postgraduate squash league'
d=open(fname,'w')
d.write(fname)
d.write(sname)
d.write(email)
d.close()
当我尝试创建文件时,此代码返回错误消息。所有其他尝试都导致了一个简单命名为(sname)的txt文件。
请帮忙!
答案 0 :(得分:0)
你的问题:
我知道如何收集数据并将其写入文本文件但我愿意 喜欢将每个文件独立命名为用户的姓氏。
您当前正在使用用户的名字来创建文件。用户的名字存储在fname
中。稍后您将创建一个文件,其值存储在fname
中:
d=open(fname,'w')
如果您要创建名称为用户姓氏的文件,则必须使用sname
,如下所示,因为它包含用户的姓氏:
d=open(sname,'w')
我希望这是你想要的。
答案 1 :(得分:0)
我试过你的代码并且工作正常。我没有收到任何错误消息。但我想如果你想收集多个人的数据,你必须打开文件作为" a"。并附加" \ n"文件的结尾。如果我是你,我使用这个代码替换你的;
fname=raw_input('Competitor forename : ')
sname=raw_input('Competitor surname : ')
email=raw_input('Email address : ')
phone=int(raw_input('Phone : '))
enter=raw_input('Have you already completed any games? (Yes/No) : ')
if enter=='yes':
dcurrent=raw_input('Please tell us your current division : ')
pcurrent=int(raw_input('Please tell us your current points : '))
print'Thank you'
else:
print'Welcome to the staff and postgraduate squash league'
userInformation = fname + " " + sname + " " + email
d=open(fname,'a')
d.write(userInformation+"\n")
d.close()