从python中的文件读取特殊字符时出现问题

时间:2019-03-16 19:42:32

标签: python

我在python中读取文件时遇到问题。我有一个包含一些Unicode字符的文件,如下所示。

Test_data.txt:

ý[þ»¢5åÆ¢Nde¼Èó!`Å6^

但是,当我尝试读取文件时,某些额外的字符会附加如下文本。

ý[þ»¢5\x1få\x8fÆ\x0f¢Nde¼Èó!\x0c`Å6\x1d\x1a^

我的代码如下:

main_data_full = []
main_file = open("Test_data.txt", "r", encoding = 'utf-8') 

main_data = []
for line in main_file:
    main_data_full.extend(line.split("\n"))

print(main_data_full)

我不想在文本之间添加多余的“ \ x”类型字符。谁能帮我解决代码。

1 个答案:

答案 0 :(得分:0)

打开的Python文件是逐行迭代的,因此您无需自己分割行或使用extend()

例如,假设我们有这个文件:

some data
ý[þ»¢5åÆ¢Nde¼Èó!`Å6^
blah
blah2

一个小程序:

import sys

with open(sys.argv[1], 'r', encoding = 'utf-8') as fh:

    # One way to read the lines.
    lines = []
    for line in fh:
        lines.append(line)

    # Another.
    # lines = list(fh)

    # And another.
    # lines = fh.readlines()

print(lines)

输出:

['some data\n', 'ý[þ»¢5åÆ¢Nde¼Èó!`Å6^\n', 'blah\n', 'blah2\n']