1 回答

TA貢獻1830條經驗 獲得超9個贊
你想要達到的目標讓我有些頭疼。雖然當然可以從 JavaScript 調用 Python 解釋器,但對于使用你的包的人來說,這可能不是最好的用戶體驗。
在運行 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}')
添加回答
舉報