问题标签 [pyinotify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 烧瓶“hello world”无法在调试模型中运行
我按照官方文档,安装了virtualenv和flask,然后python hello.py
出现了问题:</p>
我的hello.py:
但是如果没有调试就可以了吗?为什么?我的 /env/lib/python2.7/site-packages:
python - pyinotify 的可疑线程问题
我一直在使用 pyinotify 并且遇到了问题,在对文件夹进行多次更改后,它只是停止接收通知。我感觉这与两个线程正在运行的事实有关;即通知线程和 wxpython 线程。
该应用程序的目的本质上是在检测到 IP 连接时将图片加载到屏幕上,监视文件夹中的文件“清单”并基于该文件进行一些处理,即移动文件。
它间歇性地工作,但作为一个 python 新手,我不确定问题可能是什么,因为我基本上已经采用了线程示例并解决了它。有时,它只收到一个通知并停止接收文件更改通知。
此外,如果我重新启动 linux 机器并重试,它适用于大量文件更改,然后再次停止接收通知,这让我认为它可能没有正确释放手表?
任何帮助将不胜感激,并且非常欢迎优化和改进。我相信我可以从反馈中学到很多东西。代码如下
filesystems - 内核如何知道文件已关闭
linux知道文件已关闭的机制到底是什么?我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发关闭文件?
同样,操作系统如何知道文件已打开以及它在哪里注册该事实?
python - 获取线程实例调用事件的名称
我只是想知道如何获取pyinotify.ThreadedNotifier
调用我的 EventHandler 的名称。
pyinotify.ThreadedNotifier
自动获取名称,如“Thread-1”、“Thread-2”等。
我可以使用该getName()
函数获取通知程序的名称,但我不知道如何找出其中哪些调用了 my EventHandler()
.
有没有办法找出来?
python - most performatic free database for file system tracking
I'm tracking a linux filesystem (that could be any type) with pyinotify module for python (which is actually the linux kernel behind doing the job). Many directories/folders/files (as much as the user want to) are being tracked with my application and now i would like track the md5sum of each file and store them on a database (includes every moving, renaming, new files, etc).
I guess that a database should be the best option to store all the md5sum of each file... But what should be the best database for that? Certainly a very performatic one. I'm looking for a free one, because the application is gonna be GPL.
python - pyinotify 中断 check_events
我知道pyinotify.Notifier.check_events(self, timeout=None)
可以暂停 - 但我更希望它无限期地轮询。有可能中断吗?
我在打电话Notifier.stop(self)
,但它似乎没有逃脱check_events
。
在下面的示例中,另一个线程调用stopIt()
, 并被self.notifier.stop()
调用 - 但既没有打印“check_events is True”也没有打印“check_events is False”:
python - 使用 pyinotify 在目录中创建假脱机的最佳方法是什么?
我试图在创建目录时将目录中的每个文件移动到另一个文件。也许我可以干净地停止守护进程(pyinotify 实例运行),并继续在 orig/spool 目录中创建原始文件。
我想在守护进程再次启动后进行处理。也许我可以利用 inotify 内核队列?
提前致谢
python - Python,Ubuntu:Dropbox 完成同步后引发事件?
我正在编写一个脚本,以便在完成同步后将文件从 Dropbox 中的某个文件夹中移出。
例如,我想要一个名为“TrashBackup”的文件夹,只要我把东西放在那里,(在完成同步之后)我的服务器就会将它从 Dropbox 中取出并移到文件系统中的另一个位置(最终删除它从我的笔记本电脑)。
我正在使用 pyinotify 但问题是我不知道如何知道它何时完成同步。我可能最终会在一个可能非常大的文件没有完成传输之前移动。
我正在考虑设置一个计时器来查看文件最后一次更改的时间,如果超过 20 分钟,则继续将其移出 Dropbox。但这似乎是一种变通办法。此外,如果我正在传输 1GB 的文件,我可能会根据 Dropbox 的速度和我的本地带宽利用率来推动我的运气。
也许我应该开始监控 .dropbox.cache 文件夹?有任何想法吗?
ftp - APPE FTP命令传输完成检测服务器端
我有一个通过 FTP 处理传入文件的服务。
在我安装 Proftpd 的 Debian 服务器上,我使用 iNotify 事件来确定文件传输何时完成并且我可以开始使用它。
一旦不再写入文件,就会触发该事件。
在我发现新的尼康 D4 相机和 WT-5 无线发射器使用 APPE FTP 命令发送文件之前,这种方法非常有效。
从我读到的内容看来,APPE FTP 命令以数据块的形式发送文件,这些文件在第一个块创建文件后附加到服务器上的现有文件中。
然而,这会导致多个 iNotify 事件被触发,因为文件被多次而不是一次写入,直到连接关闭。
由于文件是在文件完成之前处理的,因此一旦处理就会导致错误。而且我总是在处理后删除文件。
由于我的这项服务在处理传入文件时必须保持快速,我真的很喜欢这个带有 iNotify 的解决方案,并且真的不想计时文件大小是否保持不变 n 秒或确定文件传输是否完成。
我的问题是:有什么方法可以确定文件传输是否实际完成,而无需检查文件大小或比较上次修改日期?
我试图在 proftpd 中找到一种方法,但无济于事。
xferlog 指出同一个文件已完成多次:
最后的 c 表示传输完成。
因此,如果我必须检查每个传入文件的文件是否实际完成,这意味着实际完成的文件会出现不必要的延迟。
似乎这不应该是一个不寻常的问题,但找不到任何关于它的东西。
有任何想法吗?
python - pyinotify 代码清理 smtplib
新编码器在这里
我希望能够稍微清理一下这段代码。我希望能够将 smtplib 的内容移出课堂,但我仍然需要它来发送包含 pinotify 数据的电子邮件如果您查看我的代码,您会看到。这是非常多余的。
如果通知数据 > 发送包含文件创建数据的电子邮件
如果通知数据 > 发送包含文件已删除数据的电子邮件
我该如何巩固这一点。