Hướng dẫn php pass variable to python script - php chuyển biến sang tập lệnh python

Phụ thuộc vào cách bạn gọi kịch bản Python. Nếu bạn làm điều đó thông qua system[] chẳng hạn, bạn có thể đặt nó vào các đối số:

$hello = 'world';

$result = shell_exec['/path/to/python /path/to/your/script.py ' . $hello];

Và trong Python:

import sys

who = sys.argv[1]

print "Hello %s" % who

Bây giờ $result trong PHP sẽ chứa "Hello World".

Một khả năng hiệu suất hơn, không phải lúc nào cũng có thể xem xét, là một loại "cách tiếp cận fastcgi"; Tập lệnh Python của bạn thực sự luôn chạy và chấp nhận các kết nối ổ cắm [ví dụ: sử dụng HTTPLIB], giả sử, cổng 8888. Tại thời điểm đó, bạn có thể kết nối từ PHP bằng Curl đến //127.0.0.1:8888 và gửi dữ liệu có cấu trúc được mã hóa trong JSON [vì Python có bộ giải mã JSON; Tôi không chắc chắn về một PHP unserializer] và trả về thông tin qua cùng một đường dẫn.

Tập lệnh Python bây giờ là, tất cả các ý định và mục đích, một dịch vụ web. Bạn cũng có thể triển khai một số tập lệnh khác nhau trong cùng một giao diện dịch vụ web và chọn cái nào sẽ trả lời dựa trên URI giả được gửi trong yêu cầu.

Với cách tiếp cận này, bạn cần kiểm tra xem trạng thái giữa các yêu cầu có bị cô lập đúng hay không, tức là, yêu cầu xử lý dữ liệu thay mặt cho Peter sẽ không dẫn đến việc dữ liệu được trả lại thuộc về Paul; Hoặc tất cả dữ liệu được xử lý là không an toàn, nghĩa là, nó không yêu cầu bảo mật hoặc xác thực.

Một lợi thế khác của phương pháp này là lưu trữ - tập lệnh Python vẫn còn sống giữa các yêu cầu được thực hiện từ PHP và có thể trả về câu trả lời tương tự cho một câu hỏi đã biết mà không cần phải tính toán lại bất cứ điều gì, nếu điều này là có thể thực hiện được. Có các khung bộ đệm cho Python đã sẵn sàng để cắm vào.

Một lợi thế bổ sung là bạn có thể dễ dàng mở rộng quy mô phương pháp này bằng cách triển khai dịch vụ Python trên một máy khác [không nhất thiết có thể truy cập từ Internet rộng hơn] hoặc thậm chí một số máy khác nhau.

Đôi khi bạn có thể cần chuyển các biến cho tập lệnh Python đang được Php thực hiện dưới dạng dòng lệnh. Để làm điều này theo các bước dưới đây

Đây là tập lệnh Python của chúng tôi chỉ in bất kỳ biến nào mà Lừa đã truyền cho nó

#!/usr/local/bin/python3
import nltk
import sys
input=sys.argv[1]
print [input]

Đây là tập lệnh PHP của chúng tôi thực thi tập lệnh Python

//Getting input variable from another script


Các tập lệnh PHP ở trên chuyển biến đầu vào từ PHP sang python và in ra cùng một

Tags: Thực hiện Python thông qua PHPPHppython Executing Python via phpPhpPython

Shan

Tôi là A & NBSP; Kiến trúc sư kỹ thuật, những người say mê các ngôn ngữ và công nghệ khác nhau

Bạn cũng có thể thích...

Tôi đã chia sẻ mã tôi đang sử dụng. Tôi muốn nhận các giá trị từ người dùng bằng mã HTML và đọc nó bằng PHP. Sau đó chuyển các giá trị từ tập lệnh PHP sang tập lệnh Python, thực hiện tác vụ và hiển thị đầu ra.

Vì một số lý do, tôi không thể làm điều đó. Ai đó có thể giúp tôi?

Những gì tôi đã thử:

   
      
         HTML Forms
      
      

Add your details: Number 1:

Number 2:

Number 3:

import sys

num_1 = sys.argv[1]

num_2 = sys.argv[2]

num_3 = sys.argv[3]

print["total:", num_1+num_2+num_3]

Nội dung này, cùng với bất kỳ mã nguồn và tệp liên quan nào, được cấp phép theo giấy phép mở của Dự án Mã [CPOL]



Codeproject, 20 Bay Street, Tầng 11 Toronto, Ontario, Canada M5J 2N8 +1 [416] 849-8900

Bài Viết Liên Quan

Chủ Đề