2016-05-06 56 views
0

我試圖用plistlib讀取Mac OSX上的.plist文件。 可悲的是我在運行腳本Plist文件解析錯誤「'str'對象沒有屬性'讀'」

Traceback (most recent call last): 
    File "/Users/johannes/pycharmprojects/adobe-cache-cleaner/test.py", line 6, in <module> 
    pl = plistlib.load(fp2) 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plistlib.py", line 983, in load 
    header = fp.read(32) 

AttributeError: 'str' object has no attribute 'read' 

這是我的腳本時總是得到一個錯誤:

import plistlib 

fp2 = "/Users/Johannes/Pythonproject/test.plist" 

pl = plistlib.load(fp2) 
print pl 

回答

1

它看起來像ptlistlib IST期待一個文件不是一個字符串:

import plistlib 

with open("/Users/Johannes/Pythonproject/test.plist", "rb") as file: 
    pl = plistlib.load(file) 
    print pl 

看到https://docs.python.org/3/library/plistlib.html

+0

我試過你的建議,但現在我正在運行到一個UTF-8 E RROR。 UnicodeDecodeError:'utf-8'編解碼器無法解碼位置8中的字節0xd1:無效延續字節 對於記錄:我設法解析相同的plist文件與python 2.7和biplist模塊:( – Johannes

+0

@Johannes編輯...現在嘗試 – Oisin

+0

現在就像魅力一樣!謝謝! 「rb」修飾符做什麼? – Johannes

相關問題