Python から外部プロセスを起動する場合は subprocess モジュールを使う方法があります。 非同期処理等を考えない、簡単なサンプルをメモしておきます。 subprocess.run()
の実行結果はバイト配列なので sys.stdout.buffer.write()
を使って標準出力しています。
#!/usr/bin/env python import subprocess import sys address = '8.8.8.8' result = subprocess.run('/usr/bin/whois --host whois.iana.org ' + address, shell=True, stdout=subprocess.PIPE) sys.stdout.buffer.write(result.stdout)
実行結果は以下の通りです。
# python sample-whois.py % IANA WHOIS server % for more information on IANA, visit http://www.iana.org % This query returned 1 object refer: whois.arin.net inetnum: 8.0.0.0 - 8.255.255.255 organisation: Administered by ARIN status: LEGACY whois: whois.arin.net changed: 1992-12 source: IANA