Идея того, чего вы пытаетесь достичь, вызывает у меня некоторые головные боли. Хотя, конечно, можно вызывать интерпретатор Python из JavaScript, это, вероятно, не лучший пользовательский опыт для людей, использующих ваш пакет.
Перед запуском сценария Python пакет должен проверить как минимум следующее:
- У пользователя установлена правильная версия Python, установленная
python
подвергается действию PATH
- , активный файл может быть интерпретирован как Python
Это разные проблемы, но, тем не менее, некоторые из них вам необходимо разобраться .
Вы не указали, вызываете ли вы скрипт Python в синхронной или асинхронной функции. Я собираюсь предположить первое, так как для JavaScript новичков легче следовать, но вы можете изменить это на следующем шаге
JavaScript
// Import Node's spawn method
const { spawnSync } = require('child_process');
// Get path of active file
const activeEditorPath = atom.workspace.getActiveTextEditor().getPath();
// Spawn child process
const child = spawnSync('python', ['path/to/your/script', activeEditorPath]);
Python
import sys
# Get argument
active_editor_path = sys.argv[1]
# Print editor path
print(f'Active editor path: {active_editor_path}')