0
어떻게 파이썬에서 (쉘) 역 인용 문자열을 해결할 수 있습니까?파이썬은 쉘에서 역 따옴표로 묶인 문자열
말은 "`cat /etc/hosts | grep hostname`"
입니다. 예를 들어 "0.0.0.0 hostname \ n"과 같은 쉘 해석을 원합니다. 어떻게해야합니까?
어떻게 파이썬에서 (쉘) 역 인용 문자열을 해결할 수 있습니까?파이썬은 쉘에서 역 따옴표로 묶인 문자열
말은 "`cat /etc/hosts | grep hostname`"
입니다. 예를 들어 "0.0.0.0 hostname \ n"과 같은 쉘 해석을 원합니다. 어떻게해야합니까?
사용 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를 대신 사용할 필요가 거라고 내가 shell
을 True
으로 설정하면 쉘이 그것을 해석 할 수 있습니다.
누군가가 당신에게 어떤 prozac을 풀 필요가 있습니다. (나는 그때 게시하는 것을 귀찮게하지 않을 것입니다!) +1 –
어쩌면 내 질문이 충분히 명확하지 않았고, 나는 그것을 분석하고 싶지 않고, 나는 결과를 얻고 싶습니다. 나는 쉘에 문자열을 입력했다. – kaspersky
@ gg.kaspersky : 앞선 방법, 마지막 편집을 참조하십시오. –