Python plist parser IOError:[Errno 63]文件名太长:

2024-05-15 22:16:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Python plist解析器不喜欢plist格式的长字符串。在

plist_data = plistlib.readPlist(plistString)

plistString实际上是我打开的文件的内容。奇怪的是,将输入文件放入readPlist函数可以工作,但我必须在python中对该文件进行进一步的格式化。在

我运行上面的代码,在控制台上得到一个IOError: [Errno 63]。不知道如何避免这种情况?我猜函数是在寻找“原始”输入,而不是字符串。我怎么骗它?在


Tags: 文件函数字符串代码解析器内容data格式
2条回答

如果要将字符串作为文件读取,请使用StringIO。在

fakeFile= StringIO.StringOI( plistString )
plist_data = plistlib.readPlist(fakeFile)

最好不要打开和读取pList文件。plistlib.readPlist为您打开和阅读。在

plistlib.readPlist取文件名或文件名,而不是内容。你会得到这个错误并不奇怪:

#define ENAMETOOLONG    63      /* File name too long */

尝试plistlib.readPlistFromBytes(data)或使用StringIO将字符串显示为文件

相关问题 更多 >