Issue
Say I have the list score = [1,2,3,4,5]
and it gets changed while my program is running. How could I save it to a file so that next time the program is run I can access the changed list as a list
type?
I have tried:
score=[1,2,3,4,5]
with open("file.txt", 'w') as f:
for s in score:
f.write(str(s) + '\n')
with open("file.txt", 'r') as f:
score = [line.rstrip('\n') for line in f]
print(score)
But this results in the elements in the list being strings not integers.
Solution
I decided I didn't want to use a pickle because I wanted to be able to open the text file and change its contents easily during testing. Therefore, I did this:
score = [1,2,3,4,5]
with open("file.txt", "w") as f:
for s in score:
f.write(str(s) +"\n")
score = []
with open("file.txt", "r") as f:
for line in f:
score.append(int(line.strip()))
So the items in the file are read as integers, despite being stored to the file as strings.
Answered By - Oceanescence
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.