[英]Parse .strings file with Python
我正在尝试编写一个小的Python脚本来解析我的iPhone应用程序项目中的.strings文件,并确定哪些键可能没有被使用。 我也在做一些字符串匹配来过滤掉一些结果。 这是我的问题开始:)。 如果我尝试类似的东西
for file_line in strings_file:
if 'search_keyword' in file_line:
...
搜索关键字通常不匹配,即使我打印相同的每个文件行,我似乎正在正确阅读文本,我的搜索关键字出现。
问题是这些.strings文件是某种二进制格式。 有谁知道解析这些文件的正确方法?
没有这些.strings
文件的经验,但这就是为什么你找不到匹配的原因:
strings_file.read()
返回包含文件完整内容的字符串 。 迭代一个字符串迭代单个字符 ,即在你的for
循环中, file_line
不是一行,它总是只有一个字符(一个长度为1的字符串),显然不能包含多字符搜索字。
听起来像stings文件被保存为数据。 如果python无法读取它,您可以将其转换为Objective-c中的纯文本文件。
只是:(1)将字符串文件读入具有正确编码的文件中。 (2)转换为字典(3)将字典写入另一个文件。
所以:
NSString *strings=[NSString stringWithContentsOfFile:filePath encoding:NSUTF16StringEncoding error:&error];
NSDictionary *dict=[strings propertyList];
[dict writeToFile:anotherFilePath atomically:NO];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.