更新:
您还需要将函数的返回值赋给变量,然后才能使用它:CountHands(Hands_Played)
print "Number of Hands Played: %s" % Hands_Played
应该是
^{pr2}$
否则,您将永远不会收到计数,而只会显示在程序开始时设置的初始值(0)。在
因此,除非您在函数调用之间维护一个计数,否则您实际上不需要此函数的参数。只需在函数的开始处在本地创建Hand_Played变量,然后像现在一样返回它。你可以从你的函数头和你的调用删除参数,你应该全部设置好。在
---上一个,仍然适用。
而不是:if "starts." in Hand_History_File:
你可能想if "starts." in line:
另外,不要忘记在处理完文件后显式地关闭它。一、 例如,在从函数返回之前调用Hand_History_File.close()。在
更好的是,考虑使用with构造来管理文件。它将自动关闭你的文件在块的末尾,当你完成它,或你遇到一个异常。你也可以逐行处理你的文件并简化你的代码。一、 e.一个简化版本,与您的功能/代码的原始设计接近:def CountHands():
Hands_Played = 0
with open(r"C:\xxxxx\blah_blah.txt") as Hand_History_File:
for line in Hand_History_File: # process file line-by-line
if "starts." in line:
Hands_Played += 1
return Hands_Played
Hands_Played = CountHands(Hands_Played)
print "Number of Hands Played: %s" % Hands_Played
注意事项:
我使用“raw”字符串(在路径前面加上'r',以防止Python解释字符串中的某些字符组合。我不在open调用中使用“r”,因为它是打开文件时的默认值。我使用+=运算符来缩短增量。当您离开以with开头的块时,您的文件将被关闭。在