Revit.ini 文件 - 缺少剖面标题错误:文件不包含剖面标题.文件:Revit.ini,行:1 'xffx



im 尝试使用 python 编辑我的 Revit.ini 文件,但我继续收到以下错误。在一天中的大部分时间里,我一直在用头撞墙。感谢任何帮助。

我一直在python 2.7上使用ConfigParser,并在这里浏览他们的文档,因为它们似乎是尝试使用*.ini文件时要走的路。当我创建自己的 *.ini 文件来测试内容时,一切正常,但是当我尝试在其他 *.ini上运行测试时,我收到错误。

到目前为止我的代码

import ConfigParser
config = ConfigParser.RawConfigParser()
config.read('Revit.ini')

我的错误

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:Python27libConfigParser.py", line 305, in read
    self._read(fp, filename)
  File "C:Python27libConfigParser.py", line 512, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
file: Revit.ini, line: 1
'xffxferx00n'

感谢任何和所有的帮助。我认为这与 UTF 编码有关(我还不熟悉,我打算对它进行一些阅读(,这意味着我可能必须对其进行解码,然后重新编码,我还需要阅读该怎么做。

我认为这与UTF编码有关

是的,确实如此。错误消息将文件的前两个字节显示为xffxfe,这是包含编码为 UTF-16LE(小端序(的 Unicode 字符的文本文件的字节顺序标记 (BOM(。配置解析器在理解此类文件方面需要一点帮助,因此我们可以要求io模块伸出援手:

config = configparser.ConfigParser()
with io.open('revit.ini', mode='r', encoding='utf-16') as fp:
    config.read_file(fp)

请注意,以上内容适用于Python_3。Python_2距离生命周期结束(2020 年 1 月(不到六个月,之后预计许多软件包将放弃对它的支持,因此您确实应该考虑过渡到 Python_3。

相关内容

最新更新