Python中哪个命令是等效的?

1 投票
5 回答
548 浏览
提问于 2025-04-17 03:06

我有一段代码,用来检查系统上是否存在一个叫做 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 解释器使用的路径里不存在。

撰写回答