我想尝试使用此参考为我的毕业项目创建自己的.xml文件。
但是我有一个问题,第 6 阶段不起作用。它给出的错误如下:
Traceback (most recent call last):
File "./tools/mergevec.py", line 170, in <module>
merge_vec_files(vec_directory, output_filename)
File "./tools/mergevec.py", line 120, in merge_vec_files
val = struct.unpack('<iihh', content[:12])
TypeError: a bytes-like object is required, not 'str'
我找到了一个解决方案,它说找到 0 大小的矢量文件并删除它们。 但是,我不知道哪些矢量文件的大小为 0 以及如何检测它们。 你能帮忙吗?
当我改变它时,我能够解决我的问题:
for f in files:
with open(f, 'rb') as vecfile:
content = ''.join(str(line) for line in vecfile.readlines())
data = content[12:]
outputfile.write(data)
except Exception as e:
exception_response(e)
对于它:
for f in files:
with open(f, 'rb') as vecfile:
content = b''.join((line) for line in vecfile.readlines())
outputfile.write(bytearray(content[12:]))
except Exception as e:
exception_response(e)
就像我更改它之前一样:
content = ''.join(str(line) for line in vecfile.readlines())
对于它:
content = b''.join((line) for line in vecfile.readlines())
因为它正在等待一些 STR,现在它能够接收我们需要的二进制档案。
:)
尝试遵循本指南。这是最近的。