【发布时间】:2018-08-17 12:38:39
【问题描述】:
以下两种方法在功能上有区别吗?
os.system("echo $HOME")
subprocess.call("echo $HOME")
这是与this one 类似的问题,但该问题更侧重于subprocess.Popen()。
【问题讨论】:
-
是的。而且您基本上应该始终使用
subprocess。如果您想要更完整的答案,您需要先阅读文档,然后告诉我们您不理解的部分。 -
旁注:它们都完全没有意义,因为它们基本上等同于
print(os.environ["HOME"])。 -
另见docs.python.org/3/library/subprocess.html#replacing-os-system(当然,在这种情况下,“通常不需要通过shell调用程序”不适用……)
-
如果您要问与其他人类似的问题,请在确切您的问题的哪些方面未在其他地方解决的问题中更加明确/具体( “从问题 X 中,我理解了 A,但这仍然不能回答 B”)。
-
@ShadowRanger 这只是示例代码。旁注:我猜使用
subprocess按照同样的逻辑是没有意义的,因为你可以在shell 上输入你需要的任何东西。
标签: python python-2.7