Khi nói đến Phát triển web, không có gì đánh bại được JavaScript. Nhưng đôi khi chúng ta phải làm một nhiệm vụ đòi hỏi khắt khe hơn một chút, ví dụ như phân tích đống dữ liệu lớn. Trong trường hợp đó, Python có thể là một lựa chọn ưu việt. Nhưng đó chỉ là một chức năng của trang web của chúng tôi. Chúng tôi có muốn chuyển sang Python chỉ vì một tính năng đó không?
Vậy điều gì sẽ xảy ra nếu chúng ta có thể xây dựng chương trình phụ trợ của mình chủ yếu bằng NodeJS và chỉ sử dụng Python khi chúng ta phải
Đó sẽ là tuyệt vời phải không? . JS để chạy tập lệnh python khi cần
const spawn = require['child_process'].spawn
app.get["process_data", [req, res] => {
spawn['python3', ['script.py']]
}]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
# script.py
doSometing[]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Và nếu muốn, chúng tôi cũng có thể truyền dữ liệu vào tập lệnh python của mình
const spawn = require['child_process'].spawn
app.get["process_data", [req, res] => {
const msg = "Hello"
spawn['python3', ['script.py', msg]]
}]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Trong Python để có thể đọc dữ liệu, bạn phải nhập mô-đun sys
import sys, json
def main[]:
msg = sys.argv[1]
doSometing[msg]
if __name__ == '__main__':
main[]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Bây giờ, thay vì truyền dữ liệu trong khi sinh ra quy trình Python, hãy gửi dữ liệu trong luồng
const spawn = require['child_process'].spawn,
const py = spawn['python3', ['script.py']]
const data = {
msg: "Hello"
}
py.stdin.write[JSON.stringify[data]] //we have to send data as a string, so we are using JSON.stringify
py.stdin.end[]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
import sys, json
def main[]:
lines = sys.stdin.readlines[]
data = json.loads[lines]
doSometing[data['msg']]
if __name__ == '__main__':
main[]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Cuối cùng, chúng tôi có thể gửi phản hồi lại cho nodejs của mình từ tập lệnh python
const spawn = require['child_process'].spawn
const py = spawn['python3', ['cscript.py']]
py.stdout.on['data', function[res]{
let data = JSON.parse[res.toString[]]
console.log[data]
}]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
import sys
# You will have your own implementation of get data. In this case lets assume it returns a dict/json
res = getData[]
print[json.dumps[data]]
sys.stdout.flush[]
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vậy là bài viết này đã kết thúc. Nhưng hãy chắc chắn rằng bạn kiểm tra các bài viết khác của tôi
Tôi sẽ được thông báo nếu bạn nhấp vào đây 😈
Shuvo ・ 19 tháng 10 ・ 2 phút đọc
#programming #tutorial #node #security
ShuvoTheo dõi
Nhà phát triển giao diện người dùng và YouTuber. liên kết kênh. https. //www. youtube. com/c/AngleBrace