我正在尝试编写一个在Windows上运行的Python脚本。每隔几秒就会将文件复制到一个文件夹,并且我每30秒轮询该文件夹,查看上次轮询后复制到该文件夹的新文件的名称。
我尝试过使用其中一个os.path.getXtime(folder_path)
函数,并将其与我之前投票的时间戳进行比较。如果getXtime值大于时间戳,那么我将处理这些文件。
我曾尝试使用函数os.path.getctime(folder_path)
,但这不起作用,因为文件是在我编写脚本之前创建的。我也尝试了os.path.getmtime(folder_path)
,但修改时间通常小于轮询时间戳。
最后,我尝试了os.path.getatime(folder_path)
,这是第一次复制文件。问题是我还在文件夹中读取文件,因此访问时间不断更新,我最终一遍又一遍地读取相同的文件。
我不确定这样做有什么更好的方法或功能。
答案 0 :(得分:1)
这里有一点XY problem。您想知道文件夹中的文件何时发生更改,您尝试了一个已注册的解决方案,它无法正常工作,现在您想要修复已推出的解决方案。
我是否可以建议您使用现有的用于监控文件更改的软件包而不是可怕的hackery?一个不是轮询循环,但实际上会在变化时收到通知?虽然inotify
仅限Linux,但有other options for Windows。