0

我有两个文件夹,每个文件夹包含 196 个文件,它们都是 ( '\xae\xae\xb4\x9e\x8f\x9f\xba\xc1\xd5\xbd\xcd\xa1\xb7\') 格式。我正在尝试读取这些数据并将其转换为人类可读的形式。我想合并 2 文件夹的两个文件的数据。

我使用ord()函数尝试了这个,但是在尝试检索具有预期输出的单个文件时,我得到了错误的值。我尝试提取读取的第一个元素,但我得到的输出是所有文件的最前值。这是我的代码:

for file_name, files in izip(list_of_files, list_of_filesO):
     fi = open(file_name,"r").read()
     fo = open(files,"r").read()
     f =  [open("/home/vidula/Desktop/project/ori_tri/input_%i.data" %i,'w')for i in range(len(list_of_files))]
     read = [ord(i) for i in fi]
     reado = [ord(i) for i in fo]
     zipped = zip (read,reado)
     print read[0]

预期输出:

125,25
36,54
98,36
78,56

谢谢你的期待。

4

1 回答 1

0
[ord(i) for i in fi]

遍历文件会遍历文件的行。听起来您想一次迭代一个角色。为此,您可以尝试将read每个文件显式地作为一个块,然后迭代生成的字符串。

如果您不希望整个文件内容在内存中,您可以尝试制作自定义迭代器,例如:

def each_char_of(a_file):
    while True:
        x = a_file.read(1)
        if not x: return
        yield x
于 2012-12-07T07:27:18.117 回答