python - 从两个不同的文件并行调用 python 函数
问题描述
假设我们有两个文件 file1.py 和 file2.py
文件1.py:
from sample import common_func
common_func()
文件2.py:
from sample import common_func
common_func()
示例.py:
import time
def common_func():
print("I am common_func")
time.sleep(10)
print("After sleep")
在这里,我们从另外两个文件(file1,file2)并行/并发调用 sample.py 中的 common_func。我们的目标是,如果 file1.py 先调用 common_func,那么 file2.py 必须等到 file1 使用 common_func 完成。
请帮助我实现这种行为。
解决方案
如果 file1.py 和 file2.py 是长时间运行的进程,那么您可以使用如下代码相互通信并监听 file1.py 功能是否已经完成,如果是,那么您可以启动 file2.py 代码,否则睡觉。
示例代码:
from subprocess import Popen, PIPE
p = Popen(['program', 'arg1'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
output, err = p.communicate(b"input data that is passed to subprocess' stdin")
rc = p.returncode
推荐阅读
- telegram - 电报机器人检测到管理员的提升?
- slider - 滑块超出 100%
- gatsby - Gatsby:gatsby-source-graphql:无法读取未定义的属性“createPageDependency”
- postgresql - 如何在 Ubuntu 中静默安装 Postgresql。Docker 文件?
- sql - 如何加入带有时间条件的 SQL (Teradata) 查询?
- pandas - 将分组对象填充到扩展数据框中
- c# - 将 datetime2 数据类型转换为 datetime 数据类型导致超出范围的值异常
- c# - 初始化 Google Protobuf RepeatedField 集合
- javascript - 按钮在具有 ng-click 的 div 内不起作用
- android - Android:build.gradle:无法解决:com.github.Yalantis:Context-Menu.Android:1.1.4