我编写了一个功能,可以制作屏幕截图并检查它是否与旧屏幕截图不同。示例代码如下。但是,我想知道pythons最佳实践来设置变量oldimage和image。特别是oldimage需要在main()第一次启动之前设置。我是否使用全局变量?
def main():
image=screenGrab()
if equal(image,oldimage):
pass
else:
dosomething()
oldimage=image
while True:
main()
答案 0 :(得分:0)
使用全局变量几乎不是正确的解决方案。它通常最终导致比解决方案更多的问题。从@MartijnPieters继续,我将按如下方式组织您的代码:
def main():
oldimage = loadLastImage()
while True:
image=screenGrab()
if not equal(image,oldimage):
dosomething()
saveLastImage(image) # this is the opposite of loadLastImage()
oldimage=image
# this is the more accepted way of running main
# because it still allows your code to be loaded as module
if __name__ == "__main__":
main()