Memanggil Fungsi Python daripada Node.js
Merangkumi keupayaan perpustakaan pembelajaran mesin Python dalam aplikasi Node.js memerlukan cara untuk menggunakan Python berfungsi daripada persekitaran Node.js. Pakej 'child_process' muncul sebagai alat yang ideal untuk merapatkan jurang ini.
Penyelesaian: Menggunakan 'child_process'
Dengan menggunakan pakej 'child_process', anda boleh membuat subproses Python dan melaksanakan fungsi Python di dalamnya. Begini cara untuk melakukannya:
Mulakan dengan mengimport modul 'child_process':
const spawn = require("child_process").spawn;
Buat subproses Python dan bekalkan Python laluan skrip dan mana-mana yang dikehendaki argumen:
const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
Pada bahagian Python, pastikan 'sys' diimport dan gunakan 'sys.argv' untuk mengakses argumen yang dihantar daripada Node.js:
import sys arg1 = sys.argv[1] arg2 = sys.argv[2]
Untuk mengembalikan data kepada Node.js, gunakan 'cetak' dalam skrip Python dan siram output:
print(dataToSendBack) sys.stdout.flush()
Dalam Node.js, dengar data daripada subproses Python:
pythonProcess.stdout.on('data', (data) => { // Handle the data received from the Python script });
Fleksibiliti dan Invokasi Fungsi Dinamik
Kelebihan pendekatan ini ialah ia membolehkan berbilang hujah untuk dihantar ke skrip Python. Fleksibiliti ini membolehkan anda mereka bentuk skrip Python dengan argumen tertentu menentukan fungsi yang hendak dipanggil dan argumen lain dihantar ke fungsi tersebut.
Contoh:
Dalam anda Skrip Python, tentukan fungsi untuk pembelajaran mesin dan fungsi utama yang mengatur fungsi untuk memanggil berdasarkan yang ditentukan argumen:
def machine_learning_function(data): # Implement the machine learning functionality def main(): function_name = sys.argv[1] data = sys.argv[2] if function_name == "machine_learning_function": machine_learning_function(data) if __name__ == "__main__": main()
Dengan menghantar nama fungsi dan data sebagai argumen kepada skrip daripada Node.js, anda boleh memanggil fungsi Python yang sesuai secara dinamik.
Nota: Pemindahan data antara Node.js dan Python dicapai melalui output standard dan aliran input standard.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Python daripada Node.js Menggunakan 'child_process'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!