Ho una funzione di salvataggio nel mio programma Python che assomiglia a questo:Perché Python mi sta dando "un intero è richiesto" quando non dovrebbe essere?
def Save(n):
print("S3")
global BF
global WF
global PBList
global PWList
print(n)
File = open("C:\KingsCapture\Saves\\" + n + "\BF.txt", "w")
pickle.dump(BF, File)
File = open("C:\KingsCapture\Saves\\" + n + "\WF.txt", "w")
pickle.dump(WF, File)
File = open("C:\KingsCapture\Saves\\" + n + "\PBList.txt", "w")
pickle.dump(PBList, File)
File = open("C:\KingsCapture\Saves\\" + n + "\PWList.txt", "w")
pickle.dump(PWList, File)
Qui, n è "1".
ottengo un errore simile a questo:
File "C:/Python27/KingsCapture.py", line 519, in Save
File = open("C:\KingsCapture\Saves\\" + n + "\BF.txt", "w")
TypeError: an integer is required
Sul fare lo stesso carico all'interno della shell, ottengo nessun errore:
>>> File = open("C:\KingsCapture\Test\List.txt", "r")
>>> File = open("C:\KingsCapture\Test\List.txt", "w")
>>> n = "1"
>>> File = open("C:\KingsCapture\Saves\\" + n + "\BF.txt", "r")
>>> File = open("C:\KingsCapture\Saves\\" + n + "\BF.txt", "w")
Perché questo avendo un problema?
Cambia 'print (n)' per 'print (repr (n), type (n))'. L'output potrebbe essere illuminante. – zwol
In Python 'UpperCase' è per le classi e' lower_case' è per le variabili. – katrielalex