简体   繁体   中英

Problems with reading and writing to text files in python

I am trying to take an input and write the input to a text file to keep it stored. However, I can't seem to get the user input written over to the text file. Here is my code:

SaveUsername = open(r"C:\Users\Ty\Desktop\Login_sys\SaveUsername.txt","w+")
SavePassword = open(r"C:\Users\Ty\Desktop\Login_sys\SavePassword.txt","w+")
NewUsername = input("Please enter a username: ")
NewPassword = input("Please enter a password: ")
SaveUsername.write(NewUsername)
print (SaveUsername.readline())
SavePassword.write(NewPassword)
print (SavePassword.readline())

I am printing the readline to see if the code gets written and it never does. Please help, thanks.

First of all, you should close the file after you write to it before reading the changes. You should also use with open(...) as it is a better practice (for multiple reasons). Here is the code you should use:


with open(r"C:\Users\Ty\Desktop\Login_sys\SaveUsername.txt", "w") as SaveUsername:
    NewUsername = input("Please enter a username: ")
    SaveUsername.write(NewUsername)

with open(r"C:\Users\Ty\Desktop\Login_sys\SavePassword.txt", "w") as SavePassword:
    NewPassword = input("Please enter a password: ")
    SavePassword.write(NewPassword)

with open(r"C:\Users\Ty\Desktop\Login_sys\SaveUsername.txt", "r") as SaveUsername:
    print(SavePassword.readline())

with open(r"C:\Users\Ty\Desktop\Login_sys\SavePassword.txt", "r") as SavePassword:
    print(SavePassword.readline())

Close a file & open for reading before reading it.

Try This

with open(r"SaveUsername.txt","w+") as SaveUsername:
    NewUsername = input("Please enter a username: ")
    SaveUsername.write(NewUsername)

with open(r"SavePassword.txt","w+") as SavePassword:
    NewPassword = input("Please enter a password: ")
    SavePassword.write(NewPassword)


with open(r"SaveUsername.txt" as SaveUsername:
    print (SaveUsername.readline())

with open(r"SavePassword.txt") as SavePassword:
    print (SavePassword.readline())

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM