python检测文件夹中新增文件_自动检测文件夹中新添加的文件,并在默认打印机上打印...

没有跨平台的方法来监视新文件,除了反复阅读目录并查看更改了什么,这是一个非常糟糕的主意。在

查看新文件添加到Windows文件夹的正确方法是^{}函数。*Obtaining Directory Change Notifications解释了它是如何工作的,并在C++中给出了示例代码。在

要使用Python中的这些函数,需要^{}。(您可以使用ctypes或其他一些较低级别的技术,但是没有很好的理由这样做。)文档在包中的一个.chm文件中,或者您可以找到它们的副本at ActiveState。您需要的函数在^{}模块中。在

如果您搜索Python FindFirstChangeNotification,您可能会找到许多示例代码。但它看起来像这样(不完整的未经测试的代码只是为了让您开始使用):ffc = win32api.FindFirstChangeNotification(path, 0,

win32con.FILE_NOTIFY_CHANGE_FILE_NAME)

last_contents = set(os.listdir(path))

while True:

win32event.WaitForSingleObject(ffc, win32con.INFINITE)

contents = set(os.listdir(path))

new_files = contents – last_contents

for file in new_files:

run_your_script_that_prints_a_file(file)

last_contents = contents

win32api.FindNextChangeNotification(ffc)

在实际的代码中,您可能需要一些更好的错误处理,并且在完成后您会希望FindCloseChangeNotification(ffc)。在

*还有一个^{},它在C语言中更容易使用,而且更灵活,不需要每次更改都手动列出目录……但实际上使用Python更痛苦,而且提供的示例代码也更少。在

    原文作者:weixin_39585761
    原文地址: https://blog.csdn.net/weixin_39585761/article/details/113671791
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞