如何在 python 中解析(shell)反引号字符串?
说,我有字符串"`cat /etc/hosts | grep hostname`"
,我想得到它的 shell 解释,例如:“0.0.0.0 主机名\n”。我怎样才能做到这一点?
>>> import shlex
>>> shlex.split('cat /etc/hosts | grep hostname')
['cat', '/etc/hosts', '|', 'grep', 'hostname']
但是,如果您在反引号中查找命令的输出,则需要改用该subprocess
模块:
>>> import subprocess
>>> subprocess.check_output('cat /etc/hosts | grep dahn', shell=True)
'127.0.0.1\tdahnlocal.internal.int\n'
请注意,我设置shell
为True
让 shell 为我解释它。