OS X中来自Python的终端命令

时间:2015-10-11 16:04:22

标签: macos python-3.x

有没有一种很好的方法来区分操作系统实现错误(我考虑OSX和python的发布版本)与一般错误?

这会引发异常,因为它显然是Apple / OSX特定的命令,并且超出了subprocess.call所期望的普通脚本命令吗?

如果是这样,我应该如何让python模仿我在终端输入命令的行为?

subprocess.call("defaults write com.apple.finder AppleShowAllFiles YES")

1 个答案:

答案 0 :(得分:2)

我意识到这个帖子已经有几个月了,但我想我会发布此信息,以后任何人都在寻找这些信息。

我使用此命令通过python编辑plists(在本例中为Munki MangedInstalls.plist):

subprocess.call(' /usr/bin/defaults write /Library/Preferences/ManagedInstalls InstallAppleSoftwareUpdates 1 ', shell=True)

这个命令读取同一个plist:

os.popen(' /usr/bin/defaults read /Library/Preferences/ManagedInstalls InstallAppleSoftwareUpdates ').read()