Pythonスクリプトを使用して、毎回異なる変数で外部コマンドを何度も呼び出そうとしています。
これを行うために subprocess.call を使用することをお勧めしますが、私が見つけたすべてのドキュメントは、この関数変数を渡す方法を説明していません (たとえば、リストから)。
さまざまな形式を試しましたが、置換が最適だと思いますが、関数が変数を受け入れないようです。私が動作させようとしているコードは次のとおりです。
#!/usr/bin/python
domain_list = ["google.com", "google.ie"]
from subprocess import call
for x in domain_list:
print x
cmd_list = ['dig', '+short', '%s'] %x
call(cmd_list, shell=True)
これは失敗しています:
Traceback (most recent call last):
File "./dnscheck.py", line 16, in <module>
cmd_list = ['dig', '+short', '%s'] %arg
TypeError: unsupported operand type(s) for %: 'list' and 'str'
本当に、(リストで定義された) さまざまなドメインの束を渡して、それらのドメインの IP を掘り下げて受信できるようにしたいと考えています。
私はPythonを始めたばかりなので、これが非常に基本的なものである場合は申し訳ありません!