我创建了 2 个单独的脚本来抓取、抓取并将结果保存到 csv 文件,并将文件上传到我手动运行的保管箱。现在我想要的是在执行附加操作时监视 csv 文件,然后在附加操作结束后上传文件。任何人都可以给我一些想法或例子来做到这一点,因为我是新手。我看到了一个名为watchdog的包,但不知道如何使用它。
问问题
1088 次
2 回答
3
watchdog
使用起来真的很简单。我在这里编写了示例代码,它将监视您*.csv
文件的更改。在使用它之前设置你的路径......一个简单的./
也可以:
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
class ChangeHandler(PatternMatchingEventHandler):
patterns = ["*.csv"] # Only handle csv files
def __init__(self):
super(ChangeHandler, self).__init__()
def process(self, event):
'''
event.event_type: The type of the event as a string.
event.src_path: Source path of the file system object
that triggered this event
event.is_directory: True if event was emitted for
a directory; False otherwise.
'''
print event.event_type
print event.src_path
print event.is_directory
# DO UPLOAD HERE
def on_modified(self, event):
self.process(event)
def on_created(self, event):
self.process(event)
def on_deleted(self, event):
'''
file is deleted, maybe do some other operations?
'''
pass
if __name__ == '__main__':
observer = Observer()
observer.schedule(ChangeHandler(), path='your_csv_folder_path_here',
recursive=True)
observer.start()
while True:
time.sleep(1)
于 2014-04-20T07:27:25.123 回答
0
您可以探索Pynotify。虽然我没有亲自使用过。
于 2014-04-20T07:28:24.870 回答