pythonファイルを呼び出すphpについて話す

PHP呼び出しPythonデータ送信の問題について

これは私が大学でプロジェクトを行っていたときに発生した問題です。問題が発生した将来の上司に小さなアイデアを提供したいと思って、今は上に移動します。不用意に修正するのを手伝わないでください。問題がある場合や修正がある場合良い解決策、みんながそれを与えることができることを願っています、ありがとう!

以前、チームはプロジェクトトレーニングを実施しました。私たちのチームはビッグデータ分析を選択しました。その1つは、ユーザーが入力したデータをpythonでテキスト分析した後に分析し、対応する位置などを出力することでした。要件は、フロントエンドがテキスト要求をバックエンドPHPに送信し、PHPが処理のためにpythonプログラムを呼び出してから、データをPHPに送信し、次に処理の次のステップのためにフロントエンドに送信することです。その結果、pythonによって返されるデータはフロントエンドで文字化けし、得られる結果はpythonコードのみを実行する場合とはまったく異なります。つまり、phpによるpythonプログラムの呼び出し中にエラーが発生しました。

何度か注意深くチェックし、PHPとPythonのエンコーディングがすべてutf-8エンコーディングであることを確認したので、これについては疑いの余地がありません。では、何が問題なのでしょうか。 php callpythonステートメントは

$ job = "責任あり、JAVAが得意"; //受信テキストメッセージ

$ area = 'E:/text/sim_str.py'; // Pythonプログラムのアドレス

cmd = system( "python3area 2 C:/Users/Administrator/Desktop/2.txt job"、ret); // 2は、このファイルのエラーコンテンツを見つけることです。

最後に、何度もテストした結果、合格したテキストのエンコードに問題があることがわかりました。UTF-8エンコードではないはずです。偉大な神は、これはWindowsシステムが送信された情報をそれ自体で再エンコードするためだと言いました。次に、エンコーディングを直接変更したかったのですが、python3エンコーディングの変更に問題がありました。結局のところ、私の解決策は、システムを介して送信するのではなく、サードパーティのデータベースを介して直接送信することです。両方の当事者がデータベースを呼び出します。すべてを解決することができます。

PS:後でこの種の問題が再び発生しました。最終的に番号のみを直接渡すことができるように、pythonコードを変更して、フロントエンドで番号を判断しました。

上記は、編集者が紹介したphp call pythonファイルの詳細な説明と統合です。お役に立てば幸いです。ご不明な点がございましたら、メッセージを残してください。編集者から返信があります。 ZaLou.Cnのウェブサイトをご支援いただきありがとうございます。

Recommended Posts

pythonファイルを呼び出すphpについて話す
Pythonの日常について話す
Python機能プログラミングについて話す
Pythonでの継承について話す
Pythonで文字列について話す
Pythonのモジュールについて話す
Pythonマルチスレッドとプログラムロックについて話す
Pythonはファイルの名前を変更します
Python3のルーチンについて学ぶ
wavファイルのPython分析
Pythonはファイルを1行ずつ読み取ります
pythonバッチ実行pyファイル
Pythonファイルを暗号化する3つの方法