파이썬 스크립트를 사용하여 매번 다른 변수로 외부 명령을 호출하려고합니다.가변 인수를 subprocess.call에 전달하는 Python- 가장 좋은 방법
이 작업을 수행하기 위해 subprocess.call을 사용하는 것이 좋습니다. 그러나 필자가 찾은 모든 문서에는이 함수 변수를 전달하는 방법 (예 : 목록에서)을 설명하지 않습니다.
여러 가지 다른 형식을 시도했으며 대체가 가장 좋을 것이라고 생각하지만 함수가 변수를 허용하지 않는 것처럼 보입니다. 내가 작업을 얻을 수을 시도 을하고있는 코드는 다음과 같습니다
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'
정말 내가 목록에 정의 된 다른 도메인의 무리를 (통과 할 수 있도록하려면 :
#!/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)
이와 실패) 해당 도메인의 IP를 파고 수신합니다.
저는 파이썬으로 시작했습니다. 매우 근본적이라면 미안 해요!
정말 고맙습니다. 정말 간단합니다. -이 기능을 사용하려면 통화 기능에서'shell = True'를 제거해야합니다. 효과가 없습니다. 나 여기있어 비록 – Rqomey
귀하의 질문에 대한 답변을 원하시면 [내 대답 수락] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)을 자유롭게 선택하십시오. –