触发 inotify 事件
我有一个用Python写的脚本,它使用了Pyinotify库,当文件被移动到某个地方时(也就是IN_MOVED_TO
这个事件),会执行一些操作。现在我想知道,怎么用另一个Python脚本来触发这个脚本,只针对特定的文件,而不是真的把文件移动出去再移回来,最简单的方法是什么?
2 个回答
0
你可以通过简单地重命名文件来避免移动文件,这在Linux上也很类似。比如,你可以用这个命令:mv file file.sav && mv file.sav file
。
1
创建一个“粘合函数”。假设原来的代码是:
def some_inane_os_api(with, lots, of, arguments):
... your code ...
把它替换成:
def some_inane_os_api(with, lots, of, arguments):
your_code(just, the, arguments, you need)
def your_code(...)
... your code ...
现在你可以从测试中调用 your_code()
(这个函数的使用方式简单多了)。
假设原来的接口有一些复杂的结构。你只需要把那些结构中相关的数据复制到参数里,或者放到几个简单的辅助对象中。
这样就把你的代码和复杂的接口隔离开了,让测试和重复使用变得简单多了。