2012-11-22 3 views

답변

3

사용 shlex.split() :

>>> import subprocess 
>>> subprocess.check_output('cat /etc/hosts | grep dahn', shell=True) 
'127.0.0.1\tdahnlocal.internal.int\n' 

참고 :

>>> import shlex 
>>> shlex.split('cat /etc/hosts | grep hostname') 
['cat', '/etc/hosts', '|', 'grep', 'hostname'] 

경우에는, 그러나, 당신은 역 따옴표의 명령의 출력를 찾고 있습니다, 당신은 subprocess module를 대신 사용할 필요가 거라고 내가 shellTrue으로 설정하면 쉘이 그것을 해석 할 수 있습니다.

+1

누군가가 당신에게 어떤 prozac을 풀 필요가 있습니다. (나는 그때 게시하는 것을 귀찮게하지 않을 것입니다!) +1 –

+0

어쩌면 내 질문이 충분히 명확하지 않았고, 나는 그것을 분석하고 싶지 않고, 나는 결과를 얻고 싶습니다. 나는 쉘에 문자열을 입력했다. – kaspersky

+0

@ gg.kaspersky : 앞선 방법, 마지막 편집을 참조하십시오. –

관련 문제