सबसे आसान तरीका मुझे पता है कि "child_process" पैकेज का उपयोग करना है जो नोड के साथ पैक किया गया है।
तब आप कुछ ऐसा कर सकते हैं:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
फिर आपको बस इतना करना है कि आप import sys
अपने अजगर स्क्रिप्ट में सुनिश्चित करें , और तब आप का उपयोग arg1
कर sys.argv[1]
, arg2
का उपयोग कर सकते हैंsys.argv[2]
, और इसी तरह।
नोड में डेटा वापस भेजने के लिए सिर्फ पायथन लिपि में निम्न कार्य करें:
print(dataToSendBack)
sys.stdout.flush()
और फिर नोड डेटा का उपयोग करके सुन सकता है:
pythonProcess.stdout.on('data', (data) => {
// Do something with the data returned from python script
});
चूँकि यह स्पॉन का उपयोग करके एक स्क्रिप्ट में कई तर्कों को पारित करने की अनुमति देता है, आप एक पायथन लिपि का पुनर्गठन कर सकते हैं ताकि एक तर्क यह तय करे कि किस फ़ंक्शन को कॉल करना है, और दूसरा तर्क उस फ़ंक्शन को पास हो जाता है, आदि।
आशा है कि यह स्पष्ट था। अगर कुछ स्पष्टीकरण की जरूरत है तो मुझे बताएं।