我只想执行一次代码块,所以我使用了如下全局变量:
unopened = True
def make_request:
#some other code
global unopened
if(unopened):
print "Writing in result file"
result_file = open("resultFile.txt", "w")
result_file.write(result)
result_file.close
unopened = False
#some other code
我的问题是代码被多次执行,而事实并非如此。在
我在这里看到了一个类似的问题Function Not Changing Global Variable,但提出的解决方案似乎不适合我。在
您可以通过创建一个可调用类来避免使用全局变量,该类的实例跟踪它们被调用的次数:
测试方法如下:
^{pr2}$输出:
现在,唯一会导致请求多次发出的是如果您创建
requester
的多个实例(或者向其构造函数传递一个大于1的数字)编辑时:对this问题的公认答案包含一个类似的想法,作为装饰器实现。在
没错,没有对我来说是完美的:
^{pr2}$
相关问题 更多 >
编程相关推荐