IndexError:列表赋值索引超出范围w \ save to file

时间:2018-03-20 12:22:35

标签: python

newfile = open("Student Data.txt","w")
    with open("Student Data.txt") as a_file:
            data = a_file.readlines()

    data[1] = username + " " + password + "\n"

    with open("Student Data.txt", "w") as a_file:
            a_file.writelines(data)

    input()

我创建了用户名和密码,输入语句和年龄的int输入。如果有人可以帮我写这个.txt文件,我会大量帮助我。

2 个答案:

答案 0 :(得分:0)

我首先建议在file.readlines上使用file.read函数,主要是因为它可以防止你不得不再分割文本了。 然后你应该使用.split函数和适当的分割字符(通常是空格)。

所以我对你的代码的看法是这样的: 下一节是关于访问和读取文件。

newfile= open("Student Data.txt", "r")
fileContents=newFile.read()
splitContents=fileContents.split("\n")
for Lines in splitContents:
    print(Lines)

本节介绍如何获取输入(无错误检查)并将其写入文件。

Writing=open("Student Data.txt", "a")
Username=input("Enter username:\t")
Password=input("Enter password:\t")
Data=Username+" "+Password+"\n"
Writing.write(Data)

答案 1 :(得分:0)

您的代码看起来有点不对劲。 如果您想拥有用户输入并将这些输入存储在文件中,这是一种非常基本的方法:

# open the file if it exists and replace its contents or create a new one
with open('Student Data.txt', 'w') as user_data:
    user_data.write('username=' + input('username: ')+'\n')
    user_data.write('password=' + input('password: ')+'\n')
    user_data.write('age=' + input('age: ')+'\n')
    user_data.close()

# now if you wanna read it
user_data = open('Student Data.txt', 'r')

for data in user_data:
    print(data)
user_data.close()

在此示例中,您将每个输入存储在文件内的新行中。

您可以详细了解阅读文档的文件:Go To Section 7.2 and 7.2.1