我需要从plist文件中提取一些值。我在OSX上找到了名为PlistBuddy的工具,这是我用于任务的东西(我使用shell脚本,最后我会尝试使用python,但暂时我会坚持使用shell)。
问题在于我需要获取具有相同名称的值("时间"和#34;革命"),但它们位于plist文件的不同分支中。 这就是plist的组织方式:
root
iteration1
compound 1
time
revolutions
compound 2
time
revolutions
compound 3
time
revolutions
iteration2
compound 1
time
revolutions
compound 2
time
revolutions
compound 3
time
revolutions
此时,我试图获取时间和转数值,并根据迭代次数计算每种化合物的平均值。
我的第一种方法是进行循环,进行n次迭代,然后是所有化合物的列表,其中包含时间和转数值,所有化合物都按顺序保存在数组中。
这很容易出错,因为我没有每个值的ID,而且它依赖于这个位置总是相同的事实......你可以想象它作为算法真的很糟糕。 / p>
我尝试的另一种方法是读取每个值,对于所有迭代,计算平均值然后继续下一个化合物,直到我完成;但这种做法似乎非常复杂。
现在,一个好的解决方案是字典,所以我可以在每个化合物下保存每个值,但是shell没有字典;所以我对如何处理这个问题感到有点迷茫。
理想情况下,我应该为每个化合物得到每个值,然后计算n次迭代的平均值。
我仍然在探索解决方案,所以如果有人建议如何解决这个问题,我真的很感激。此外,PlistBuddy工具的语法也非常严格。
我很想使用python而只是放下shell脚本,但这会花费我更多的时间,因为我对plist的操作知之甚少。
提前致谢