当文件被添加到文件夹时,如何自动运行python脚本?

时间:2018-03-29 13:31:23

标签: python windows directory

每当将Word文件添加到特定文件夹时,如何自动运行python脚本?这个python脚本之后需要使用Word-File。我的操作系统是Windows。

提前感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可能希望了解如何创建python服务。

How do you run a Python script as a service in Windows?

与此处的其他答案一样,您将创建一个持久循环来定期检查文件的文件系统,然后在找到它时执行某些操作。

答案 2 :(得分:1)

我已经尝试了所有这些解决方案,但对我来说效果不佳

但是!

我已经找到了解决方案,

代码如下:

path_to_watch = "your/path"
print('Your folder path is"',path,'"')
before = dict ([(f, None) for f in os.listdir (path_to_watch)])
while 1:
        after = dict ([(f, None) for f in os.listdir (path_to_watch)])
        added = [f for f in after if not f in before]
        if added:
                print("Added: ", ", ".join (added))
                break
        else:
             before = after

我已编辑代码,原始代码可在 http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html

原始代码是用python 2x制作的,所以你需要在python 3中转换它。

注意:

每当您在路径中添加任何文件时,它都会打印文本并中断,如果没有添加任何文件,它将继续运行

答案 3 :(得分:0)

  

每当将Word文件添加到特定文件夹时,如何自动运行python脚本?

可以在以下代码中找到解决方案:

import os 

# define path for file
word_file = "path/to/file"

while True: 

    if os.path.exists(word_file):
        # your code here 

此代码使用os模块与PC的文件系统进行交互,并启动始终运行的 while 循环。条件语句的条件是指定位置中存在word_file,您可以在if语句中执行所需的代码。

我希望这有帮助 - 如果您有任何疑问请与我联系!

答案 4 :(得分:0)

您可以使用看门狗,并创建自己的eventHandler,例如覆盖filesystemeventhandler内部的原始函数,通过使用filesystemeventhandler(class MyHandler(fileSystemEventHandler):)创建一个类,您可以更改on_any_event或on_created_或on_modified。