python - 在命令行和 GUI 程序之间共享首选项

标签 python cocoa macos environment-variables

我被一个看似简单的问题所困扰。我想从 Cocoa 应用程序和命令行 python 脚本访问几个首选项。首选项主要是磁盘上内容的位置。由于位置是相互构建的(例如 $LOCA=$LOCB/stuff),因此使用环境变量和 .bash_rc 等内容将是理想的选择。问题是只有命令行程序从 .bash_rc 继承变量,Cocoa 应用程序则不然。

存储这些内容以便 python 脚本和 Cocoa 应用程序可以访问它们的最佳机制是什么?

谢谢。

最佳答案

从 Python 2.6 开始,plistlib模块在标准 Python 中可用。您可以使用它来读取和写入 .plist 文件(并使用 Obj-C 中的 NSPropertyListSerialization)。 NSPropertyListSerializationpliSTLib 都不会执行您想要的各种替换,因此您必须将其构建到脚本和 OS X 程序中。

编辑: pliSTLib 仅读取和写入 XML 序列化的 .plist 文件,而不是二进制格式 - 使用 保存 .plist 时 Obj-C 代码中的 NSPropertyListXMLFormat_v1_0 常量。

关于python - 在命令行和 GUI 程序之间共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480460/

相关文章:

python - 在 - OpenPyXL 中应用样式时遇到问题

cocoa - Cocoa 中的本地化

java - 通过 Java 在 OS X 上读取文件 - 我的路径正确吗?

objective-c - 如何以编程方式重新启动 Finder?

python - 如何在 Python 中重新加载类对象的方法代码?

python - 使用 Tkinter 在 Matplotlib 中获取鼠标单击的位置

python - 污染类(class)环境

objective-c - 指定 NSOpenPanel RunModal 的初始目录?

objective-c - Cocoa:处理 407 http 响应 cfnetwork

ruby-on-rails - 部署时的 bundle 程序错误