有没有一种很好的方法来区分操作系统实现错误(我考虑OSX和python的发布版本)与一般错误?
这会引发异常,因为它显然是Apple / OSX特定的命令,并且超出了subprocess.call所期望的普通脚本命令吗?
如果是这样,我应该如何让python模仿我在终端输入命令的行为?
subprocess.call("defaults write com.apple.finder AppleShowAllFiles YES")
答案 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()