Ich bin neu bei Python und versuche, ein Programm zu schreiben, das eine Menge Geld, Zahlen oder was auch immer verfolgt. Sie können zu Ihrem Betrag hinzufügen oder subtrahieren, und es wird in einer Datei gespeichert, oder überprüfen Sie die Menge, die Sie derzeit haben. Ich hatte es funktioniert mit diesem CodePython Pickle File Permissions
import pickle
num = 0
toDo = input("would you like to load or add/subtract? ")
if toDo == "add":
a = float(input("How much do you want to add? "))
pickle_in = open("Python", "rb")
newNum = pickle.load(pickle_in)
newNum = newNum + a
print("Current balance:", newNum)
pickle_out = open("Python","wb")
pickle.dump(newNum, pickle_out)
pickle_out.close()
if toDo == "subtract":
a = float(input("How much do you want to subtract? "))
pickle_in = open("Python", "rb")
newNum = pickle.load(pickle_in)
newNum = newNum - a
print("Current balance:", newNum)
pickle_out = open("Python","wb")
pickle.dump(newNum, pickle_out)
pickle_out.close()
if toDo == "load":
pickle_in = open("Python", "rb")
newNum = pickle.load(pickle_in)
print("Current balance:", newNum)
Dies funktioniert gut, die Datei ordnungsgemäß geladen wurde, war alles gut, bis heute (etwa 24 Stunden später), wenn ich versuchte es noch einmal, dieses Programm auszuführen, versucht das laden Strommenge, und es gab mir diesen Fehler:
Traceback (most recent call last):
File "C:\Users\Dom\Desktop\amount.py", line 34, in <module>
pickle_in = open("Python", "rb")
PermissionError: [Errno 13] Permission denied: 'Python'
ich habe dann versucht, die os.chmod Funktion, aber ich bin nicht 100% sicher, dass ich es richtig verwendet wird.
import pickle
import os, sys, stat
num = 0
toDo = input("would you like to load or add/subtract? ")
if toDo == "add":
a = float(input("How much do you want to add? "))
pickle_in = os.chmod("Python", "rb")
newNum = pickle.load(pickle_in)
newNum = newNum + a
print("Current balance:", newNum)
pickle_out = open("Python","wb")
pickle.dump(newNum, pickle_out)
pickle_out.close()
if toDo == "subtract":
a = float(input("How much do you want to subtract? "))
pickle_in = os.chmod("Python", "rb")
newNum = pickle.load(pickle_in)
newNum = newNum - a
print("Current balance:", newNum)
pickle_out = open("Python","wb")
pickle.dump(newNum, pickle_out)
pickle_out.close()
if toDo == "load":
pickle_in = os.chmod("Python", "rb")
newNum = pickle.load(pickle_in)
print("Current balance:", newNum)
es schien ich hinter dem Berechtigungsproblem bekam chmod verwenden, aber dann bekam ich diese Fehlermeldung, wenn zu laden versuchen, addieren oder subtrahieren.
Traceback (most recent call last):
File "C:\Users\Dom\Desktop\amount.py", line 11, in <module>
pickle_in = os.chmod("Python", "rb")
TypeError: an integer is required (got type str)
Nicht sicher, ob ich die chmod Funktion nicht richtig verwende oder was. Kann mir jemand sagen, wie ich das beheben kann und/oder warum es aufgehört hat zu arbeiten?