python - 如何从 python 进程调用 python 脚本
问题描述
我必须从一个瓶子脚本(如 Django 的网络框架)中调用一个长期运行的过程。
所以在一个瓶子脚本中我有
os.system("python /home/tom/Documents/proc_test/main.py")
无论如何, main.py 脚本没有被执行。如何从另一个正在运行的 python 程序调用 python 脚本?
PS:在python shell解释器中我写了 os.system("python /home/tom/Documents/proc_test/main.py") 并且文件被调用
解决方案
您可以使用importlib通过完整路径直接导入 python 脚本。
让我们假设这个例子 main.py:
def func():
print("func called")
在您的主脚本中,您导入如下:
import importlib as imp
spec = imp.util.spec_from_file_location('d', '/home/tom/Documents/proc_test/main.py')
foo = imp.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.func()
输出:
func called
推荐阅读
- html - 用于在移动设备中心定位徽标的 CSS 媒体查询
- python-3.x - flask_script 问题 python 3.4
- vue.js - Vue.js:Leaflet-Marker 不可见
- c - 使用动态数组按字典顺序对输入进行排序
- ios - 带有填充和圆角的图标 - Xamarin Forms 的 iOS 自定义渲染器
- c++ - 错误:为什么“void*”不是指向对象的指针类型,即使指针设置为对象?
- html - 在 Bootstrap 中的输入表单字段旁边添加一个红色 *
- python - Python,如何使用列表中输入的项目并使用它们来分配另一个值?可能吗
- java - 将一堆图像从 Android 手机发送到 PC
- vba - VBA - 在 2 张工作表中查找 ID# 并在单独的工作簿中发布