📅  最后修改于: 2023-12-03 15:41:54.935000             🧑  作者: Mango
在 TypeScript 中运行带有父项导入的 Python 模块需要使用 child_process
模块中的 spawn
方法。此方法允许我们从 TypeScript 中启动 Python 脚本,并在脚本中使用 import
语句导入其他 Python 模块。
首先,您需要安装 Python 和 TypeScript。确保您的 Python 环境中已经安装了所需的 Python 模块,并已在您的项目目录中创建了您的 Python 脚本。您可以使用 require
语句加载 child_process
模块。
const { spawn } = require('child_process');
要从 TypeScript 中启动 Python 脚本,您需要使用 spawn
方法,并提供您的 Python 脚本的路径。
const pyScript = spawn('python', ['/path/to/python/script.py']);
您也可以为 spawn
方法提供其他选项,例如向 Python 脚本传递参数或设置环境变量。
const pyArgs = ['--arg1', 'value1', '--arg2', 'value2'];
const pyOptions = { env: { PYTHONPATH: '/path/to/python/modules' } };
const pyScript = spawn('python', ['/path/to/python/script.py', ...pyArgs], pyOptions);
在您的 Python 脚本中,您可以使用 import
语句来导入其他 Python 模块。请注意,由于您是从 TypeScript 中启动 Python 脚本,因此您可能需要使用相对路径来导入模块。
import sys
sys.path.append('/path/to/python/modules')
from my_module import MyModule
在您的 TypeScript 代码中,可以使用 stdout
和 stderr
事件来监听 Python 脚本输出。
pyScript.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
pyScript.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
pyScript.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
在 TypeScript 中运行带有父项导入的 Python 模块需要使用 child_process
模块的 spawn
方法。您可以为 spawn
方法提供您的 Python 脚本的路径,参数和选项。要导入其他 Python 模块,请使用 import
语句并确保将正确的路径添加到 sys.path
中。您可以通过监听 stdout
和 stderr
事件来捕获 Python 脚本的输出。