我有我的Python程序中的保存功能,看起來像這樣:爲什麼Python在不應該給我「一個整數是必需的」?
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)
這裏,n爲 「1」。
我得到看起來像這樣的錯誤:
File "C:/Python27/KingsCapture.py", line 519, in Save
File = open("C:\KingsCapture\Saves\\" + n + "\BF.txt", "w")
TypeError: an integer is required
在外殼內做同樣的負載,我沒有得到任何錯誤:
>>> 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")
這是爲什麼有問題?
將'print(n)'改爲'print(repr(n),type(n))'。輸出可能是有啓發性的。 – zwol 2012-02-19 23:17:01
在Python中'UpperCase'用於類,'lower_case'用於變量。 – katrielalex 2012-02-19 23:21:29