我的问题类似于来自 http://my.safaribooksonline.com/0596007973/pythoncook2-CHP-10-SECT-17的模拟问题, 它最终使用 2005 年过时的 xpath 方法进入 Python Cookbook,第二版,我无法使用 10.6 的内置 python(也无法安装较旧的软件包)
我想...“检索有关 Mac OS X 系统的详细信息”,每次计算机启动时使用 system_profiler 在脚本中对其进行总结(该脚本将在登录时启动)。
我收集的信息因软件版本和硬件配置而异。
例如,system_profiler SPSoftwareDataType | grep 'Boot Volume' 返回启动卷名。我打了 15 到 20 次其他电话询问信息。
我尝试输出完整的“system_profiler > data”并使用 cat data | 解析它。grep,但这显然效率低下,如果我像上面的示例那样运行每一行,它会更快。
如果输出到文件和 cat | 18 秒 grep。
13 秒(如果拨打个人电话)
*我试图让它尽可能快。
我推断我可能需要创建一个字典并使用键来引用数据,但我想知道解析和检索数据的最有效方法是什么?我在其他地方看到了使用 system_profiler 输出到 XML 并使用 XML 解析器的建议,但我认为可能有一些缓存和解析方法比首先输出到文件更有效。