Python中哪个命令是等效的?
我有一段代码,用来检查系统上是否存在一个叫做 class-dump 的程序。但是这个程序运行后只返回了一个空白。
cmd = ["which","class-dump"]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
print process.stdout.read()
这段代码总是返回空白。按理说它应该能正常工作,对吧?
5 个回答
1
which
是一个内置的命令,属于命令行的一部分。你在使用 Popen 时,需要加上 shell=True
这个选项。
3
我在我的电脑上试了以下内容,结果运行得非常好。
import subprocess
cmd = ["which","java"]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
print process.communicate()
这是输出结果
('/usr/bin/java\n', None)
0
嗯,看起来 class-dump 这个东西在你 Python 解释器使用的路径里不存在。