LoginSignup
0
4

More than 3 years have passed since last update.

ElectronからPythonシェルを実行する際に、複数引数を渡してPythonを実行する。

Posted at

はじめに

ネットで調べると文字列1つを送るサンプルコードは多く出るが、複数パラメータを渡すサンプルコードが見つからなかったのでまとめた。

概要

ElectrionからPythonを実行する際に、複数のパラメータを渡す際の方法を記載する。
ElectronではPythonShellでPythonを実行し、Python側ではargparseライブラリで実行引数を取得する。

Electron側のサンプルコード

PythonShellをインポートして実行する。optionsのargsに引数を並べるのがポイント。

ElectronApp.js
const {PythonShell} = require('python-shell');

const pyMain = '/path/to/pyMain.py';
let options = {
  mode: 'text',
  pythonOption: ['-u'],
  args:[
    '-param1', 'name1',
    '-param2', 'name2' 
  ]
}
let pyshell = new PythonShell(pyMain, options);

pyshell.send();
pyshell.on('message', function(data){
  console.log(data);
});

Python側のサンプルコード

pyMain.py
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("-param1", help="parameter1 discription")
parser.add_argument("-param2", help="parameter2 discription")
args = parser.parse_args()
print(args.param1) # name1
print(args.param2) # name2
0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4