我有我的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