Python расширяет путь OSX с пробелами в нем - PullRequest
0 голосов
/ 28 сентября 2011

Я пытаюсь изменить файл plist по адресу: /Volumes/MacintoshHD/Users/christian/Library/Application Support/iPhone Simulator/4.3.2/Library/Preferences/com.apple.Accessibility.plist

Вот мой скрипт noob python:

import plistlib
import os.path

#set path 
prefs_path = os.path.expanduser("~/Library/Application\ Support/iPhone\ Simulator/5.0/Library/Preferences/com.apple.Accessibility.plist")

#parse
prefs = plistlib.readPlist(prefs_path)

Я получаю IOError: 2, 'No such file or directory'

ЕслиЯ удаляю обратную косую черту из полученного пути ExpatError: 'not well-formed (invalid token): line 1, column 8'

Обновление

Ответ Игнасио Васкеса-Абрама предполагает, что файл поврежден.Это все еще редактируемый с Xcode и видимый с Quicklook.Также симулятор работает нормально.

Когда я открываю его в textmate, я вижу только следующее:

bplist00ÿ           
D   _ApplicationAccessibilityEnabled_VOTQuickNavEnabled_AccessibilityEnabled]ScreenCurtain_"VoiceOverTouchRotorItemsPreference_AXInspector.enabled_AXInspector.frame_AXInspectorEnabled         Ø"%(+.147:=@“   YRotorItemWEnabledYCharacter    “   TWord   “   TLine   “   VHeader “   TLink   “   [FormElement    “#  ZTableStart “&YListStart“)YLandmarks“,[VisitedLink“/^NonVisitedLink“2VButton“5YTextField“8UImage“;ZStaticText“>\InternalLink“ATZoom_{{0, 0}, {276, 166}}    ;Pguö∞ƒŸ⁄€‹›Òˆ#().56;@AFRSXcdistyÉÑâïñõ™´∞∑∏Ω«»Õ”‘Ÿ‰Â͘¯˝F

Не редактируются ли списки симулятора iPhone с помощью python или это поврежденный файл?Это можно обойти?

1 Ответ

3 голосов
/ 28 сентября 2011

Ошибка expat означает, что вы попали в файл, но с ним что-то не так.Откройте файл и убедитесь, что он не был поврежден.

РЕДАКТИРОВАТЬ:

Ааа, это бинарный список.Да, plistlib не может справиться с этим.Вы хотите libplist вместо.

...