我担心,是时候提出另一个新手问题了.我正在尝试使用Python 3.2.2(在这种情况下,该版本很重要)来监视特定Windows路径的更改.我使用的最简单的方法是:
original_state = os.listdir(path_string)
while os.listdir(path_string) == original_state:
time.sleep(1)
change_time = datetime.datetime.now()
我正在编写此代码,以对另一个应用程序进行一些时序测试.考虑到这一目标,Python脚本需要(a)不会对系统性能产生不利影响,并且(b)相对准确-我可以证明的绝对误差为-1秒.不幸的是,该方法不符合第一个条件:运行此特定代码段时,虚拟环境受到冲击,从而极大地降低了我要精确测量其性能的操作的速度.
我已经阅读了how to watch a File System for change、How do I watch a file for changes?和http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html(推荐作为解决第二个SO问题的文章.)不幸的是,Tim Golden的代码似乎是Python 2.x代码-据我所知,pywin32模块不是Python 3不支持.
我可以在Python 3中做什么来监视此特定路径而又不会遇到相同的性能问题?
解决方法:
根据ActivePython 3.2 Documentation,他们的pywin32现在支持Python 3.x