python - 更改时如何查看文件并执行多个命令
问题描述
我在 python 环境中需要这个。我的 Github 上的示例
我有一个文件,requirements.in
我想看看它是否有变化。我向其中添加库,保存后将运行编译和安装脚本。
我用来pip-compile
将需求编译成一个requirements.text
文件。然后使用 pip 安装此需求文件中的所有内容。理想情况下,我想创建一个也运行 jupyter notebook 的捆绑脚本。
目前我使用了python库“when-changed”并采用了这种方法:
#!/bin/bash
jupyter notebook &
when-changed requirements_dev.in pip-compile requirements_dev.in && requirements_dev.in pip install -r requirements_dev.txt && echo 'Installed requirements'
这种方法的问题在于它只编译需求而不安装它或执行 echo 语句。我猜这是由于when-changed
只能执行一个命令的库。
因此我的问题是:如何查看文件并执行多个命令?(不必是 bash 脚本。也可以是 python 或任何最适合的)
解决方案
我想出的一种解决方法是在一个单独的终端窗口中启动 jupyter notebook,在另一个终端窗口中启动 watcher。然后启动脚本如下所示:
#!/bin/bash
pip-compile requirements_dev.in && pip install -r requirements_dev.txt && echo 'Installed requirements'
我只是跑
when-changed requirements_dev.in bash startup.sh
在自己的窗口中。
不过,我会对其他解决方案持开放态度和好奇。
推荐阅读
- c++ - C++ 我可以在表达式中编写函数吗?
- arduino - 在 ESP8266 中使用电平转换器的 UART-TTL 问题
- r - R通过新元素扩展每个列表级别
- snowflake-cloud-data-platform - 如何将时间戳转换为雪花中的日期
- excel - 将数字添加到 Lrow 时,运行时 1004 对象工作表范围失败
- visual-studio - 如何在 MDX 或其等效项中使用“WHERE”子句?
- python - 在 Python 中使用 Hash 删除重复文件。适用于英文文档但不适用于中文文档
- laravel - Laravel - 添加来自 Eloquent 模型 belongsToMany 关系的额外约束
- compiler-construction - 外循环的寄存器分配
- kubernetes - Openshift 中的 Infinispan(Red Hat 数据网格),带有 WebSphere Liberty