相关疑难解决方法(0)

如何查看文件以进行更改?

我有一个日志文件由另一个进程编写,我想要观察更改.每次发生变化时,我都想读取新数据,对其进行一些处理.

最好的方法是什么?我希望PyWin32库中有一些钩子.我找到了这个win32file.FindNextChangeNotification功能,但不知道如何让它看到一个特定的文件.

如果有人做过这样的事情,我会非常感激听到......

[编辑]我应该提到我是在一个不需要轮询的解决方案之后.

[编辑]诅咒!这似乎不适用于映射的网络驱动器.我猜Windows不会像在本地磁盘上那样"听到"文件的任何更新.

python file pywin32 watch

306
推荐指数
14
解决办法
26万
查看次数

检测python模块是否更改然后重新加载

所以我正在开发一个包含许多模块的相当大的python项目."main"(可运行)模块是一个守护进程(实际上是一个Thrift守护进程),它调用其他模块来实现其实际功能.启动守护程序需要很长时间,因为某些模块具有相当冗长且涉及的初始化过程.

因此,当我启动守护进程时,我等待......让我们说......加载所有内容需要2分钟,这在宏伟计划中并不算太糟糕.然而,对于开发而言,它变成了一个主要的痛苦,因为我需要每次都重新启动守护程序,这已经浪费了我很多时间.

大多数模块只需几秒钟即可加载.理想情况下,我想要做的是检测特定模块中的任何文件何时发生更改,然后重新加载该特定模块.我已经想出了如何重新加载模块,但此时我无法弄清楚如何观察特定模块的变化.请记住,.py在这种情况下,模块不是单个文件,而是具有__init__.py5-10个.py文件的目录,因此我需要检测其中任何文件何时发生更改.

这是项目布局(如果它有任何区别)

project
| -- daemonize.py
| -- main.py
| -- moduleA
|    | -- __init__.py
|    | -- happy_panda.py
|    ` -- sad_panda.py
| -- moduleB
|    | -- __init__.py
|    | -- takes_forever_to_load.py
|    ` -- seriously_get_some_coffee.py
| -- moduleC
|    | -- __init__.py
|    | -- frequently_changes.py
|    | -- reasons_i_hate_my_job.txt
|    ` -- home_address_of_moduleB_developer.txt
` -- service.py <-- uses modules A, B, and C …
Run Code Online (Sandbox Code Playgroud)

python import runtime

26
推荐指数
1
解决办法
1万
查看次数

用于 Windows 文件系统的看门狗 Python 脚本

我想使用 python 看门狗为 Windows 编写一个小的通知脚本。脚本应该做 - 观察一个目录,当文件被创建时 - 触发一个 exe 传递文件名作为参数。

这表示对于 Windows,您需要“很多运气!!!” http://packages.python.org/watchdog/installation.html#installation-dependencies 这 有多可靠或容易?任何人都用 windows python 尝试过这样的东西..有什么建议吗? http://pypi.python.org/pypi/watchdog

python windows watchdog

5
推荐指数
1
解决办法
1万
查看次数

仅从文件中获取新行

目前我有这段代码,但它读取所有行,然后使用 while True 语句观察文件:

with open('/var/log/logfile.log') as f:
        while True:
            line = f.readline()
            if not line:
                time.sleep(1)
            else:
                print(line)
Run Code Online (Sandbox Code Playgroud)

实际上,我只需要在打开文件时已检测到的行之后添加新行 - 有人可以帮助我吗?也许还有比 while 语句更好的观看方式?

另一个问题是,在 Linux 机器上,脚本实际上锁定了文件,因此在我再次关闭脚本之前无法写入该文件。在 OS X 上它运行良好。如果有一个解决这个问题的想法也可能很好。

希望有人一直在从事类似的工作。

python logging python-2.7 python-3.x

5
推荐指数
1
解决办法
9814
查看次数

标签 统计

python ×4

file ×1

import ×1

logging ×1

python-2.7 ×1

python-3.x ×1

pywin32 ×1

runtime ×1

watch ×1

watchdog ×1

windows ×1