当我保存python源代码文件时,我想重新运行脚本。是否有一个像这样工作的命令(有点像节点的nodemon)?
答案 0 :(得分:24)
虽然有可能在python生态系统中执行此操作,例如watchdog / watchmedo(https://github.com/gorakhargosh/watchdog),甚至可能使用inotifywait(https://linux.die.net/man/1/inotifywait)的linux脚本选项,对我来说,最简单的解决方案到目前为止...只是使用nodemon!我不知道的是,虽然nodemon的github标语是"监视node.js应用程序中的任何更改并自动重启服务器 - 非常适合开发"实际上,nodemon是一个非常通用的工具,并且知道.py文件应该用python执行。在这里,我认为神奇的地方发生了:https://github.com/remy/nodemon/blob/c1211876113732cbff78eb1ae10483eaaf77e5cf/lib/config/defaults.js
最终结果是下面的命令行完全有效。耶!
$ nodemon hello.py
[nodemon] starting `python hello.py`
答案 1 :(得分:10)
您可以安装nodemon来监视文件更改。
例如
npm i -g nodemon
然后使用:
nodemon --exec python3 hello.py
这用于在命令行中使用python3时。在Windows上,您也可以改用“ py”。
答案 2 :(得分:2)
与我发现的nodemon最相似的方法是使用看门狗包:
pip install watchdog
它带有一个名为watchmedo的实用程序:
watchmedo shell-command \
--patterns="*.py" \
--command='python "${watch_src_path}"' \
.
现在只需处理您的.py
,它将在您每次保存文件时执行。
答案 3 :(得分:1)
实际上,您可以从他们的文档中将nodemon与python一起使用:
运行非节点脚本nodemon也可以用于执行和 监视其他程序。 nodemon将读取 正在运行脚本并监视该扩展名而不是.js(如果存在) 没有nodemon.json:
nodemon --exec "python -v" ./app.py
现在,nodemon将在详细模式下使用python运行app.py。 您没有将args传递给exec程序,则不需要 引号),然后查找扩展名为.py的新文件或修改过的文件。
答案 4 :(得分:0)
我只使用npx nodemon pythonfile.py
并确保您正在使用nodemon v2.0.x
或以上