[英]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.