python 从编码为cp1256的txt文件读取

axr492tv  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(175)

我正在尝试从编码为cp 1256的文件中读取和提取数据,我可以读取文件并打印其中的所有信息,但如果我尝试使用行.startswith搜索某些内容,它将不起作用

printing = False
with open(SourceFile,"r") as file:
    for line in file:
        if line.startswith("NODes\n"): # search for a keyword
            printing = True
            continue # go to next line
        elif line.startswith(";CON"):
            printing = False
            break #quit file reading
        if printing:
            print(line, file=PointsFile)
PointsFile.close()

只有当我使用记事本保存文件并将编码更改为UTF-8时,它才起作用。同样的代码工作正常,我应该做什么才能在不更改编码的情况下使它工作

cclgggtu

cclgggtu1#

open具有可选参数encoding,codecs -标准编码显示编码表,因为cp1256是其中之一,它应该足以替换

with open(SourceFile,"r") as file:

使用

with open(SourceFile,"r",encoding="cp1256") as file:

相关问题