Python ord函数在循环中执行
我有两个文件夹,每个文件夹包含196个文件,它们都是(Python ord函数在循环中执行,python,zipper,Python,Zipper,我有两个文件夹,每个文件夹包含196个文件,它们都是('\xae\xae\xb4\x9e\x8f\x9f\xba\xc1\xd5\xbd\xcd\xa1\xb7\')格式。我试图读取这些数据,并将其转换为人类可读的形式。我想合并2文件夹的两个文件的数据 我尝试使用ord()函数执行此操作,但在尝试检索具有预期输出的单个文件时,我得到了错误的值。我试图提取读取的第一个元素,但得到的输出是所有文件的forst值。 这是我的密码: for file_name, files in izip(list_o
'\xae\xae\xb4\x9e\x8f\x9f\xba\xc1\xd5\xbd\xcd\xa1\xb7\'
)格式。我试图读取这些数据,并将其转换为人类可读的形式。我想合并2文件夹的两个文件的数据
我尝试使用ord()
函数执行此操作,但在尝试检索具有预期输出的单个文件时,我得到了错误的值。我试图提取读取的第一个元素,但得到的输出是所有文件的forst值。
这是我的密码:
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
谢谢你的期待
[ord(i) for i in fi]
在文件上迭代会在文件的行上迭代。听起来你想一次迭代一个字符。为此,您可以尝试显式地read
ing将每个文件作为单个块,然后迭代生成的字符串
如果不希望将整个文件内容存储在内存中,可以尝试创建自定义迭代器,如:
def each_char_of(a_file):
while True:
x = a_file.read(1)
if not x: return
yield x
“它们都是('\xae\xae\xb4\x9e\x8f\x9f\xba\xc1\xd5\xbd\xcd\xa1\xb7\')格式。”我完全不知道你这是什么意思。如果我用记事本打开你的文件,我会看到引号和反斜杠吗?这是一个长字符串吗?它是一个十六进制文件,不能在记事本中读取。对不起,先生,我是编程新手,我不知道该怎么办?我有2个目录,每个目录包含196个文件,每个文件中有121个十六进制格式的值,我试图使用ord()将十六进制转换为int,并将其写入新的输出文件。每个输出文件应该有两个输入文件的121个值(如123456 56,23 89,56)和新目录中的196个文件。但我在新目录的每个文件中得到196个值。你能告诉我该怎么办吗?塔库