何らかの理由で、PHPスクリプトを実行してPythonから画像を取得する必要があります。 phpスクリプトは非常に大きく、私のものではないため、使用する適切なアルゴリズムを見つけてPythonに変換するのに数日かかります。
Pythonで画像を返すパラメーターがほとんどないphpスクリプトを実行する方法があるのではないかと思います。
サンプルコード:
import subprocess
# if the script don't need output.
subprocess.call("php /path/to/your/script.php")
# if you want output
proc = subprocess.Popen("php /path/to/your/script.php", Shell=True, stdout=subprocess.PIPE)
script_response = proc.stdout.read()
Pythonからphp実行可能ファイルを実行するだけです。
編集:Python 3.5以降で subprocess.run
:
import subprocess
result = subprocess.run(
['php', 'image.php'], # program and arguments
stdout=subprocess.PIPE, # capture stdout
check=True # raise exception if program fails
)
print(result.stdout) # result.stdout contains a byte-string
PHPスクリプトの周りにラッパーを作成します。
だから、これを参照することができますservice(PHPスクリプト)どこからでも、簡単なHTTPリクエストで、ブラウザでテストし、from Python prgを使用します。通常の方法で画像をダウンロードするだけです。
また、このようなスタンドアロンのサブシステムを使用している場合、別の言語/技術でそれを実装することを気にしないでください。それにはいくつかの利点があります。そのサービスを別のホストにインストールできます。
推奨読書: Service-Oriented Architecture ウィキペディアで。
コマンドラインからローカルでPHPスクリプトを実行できる場合、 subprocess.check_output() により、PHP戻り値をキャプチャします。
PHPソケット経由でアクセスしている場合は、 rllib.urlopen() または rllib.urlretrieve() を使用してプルダウンできますリソース。