python-3.x - 为什么我的代码给我的结果与预期不同
问题描述
我正在编写一个代码来读取 2 个十六进制文件并写出差异并将 ( using binascii.unhexify()
) 转换为十进制,以便我可以查看它并进行更改。
我尝试使用反向()将其转换回十六进制格式,binascii.hexify()
但它给我的输出与我预期的不同。
我尝试复制各个行并将其转换回十六进制,它给了我想要的输出。
问题似乎在于读取文件并将各个行解析为函数。
def read_file(fst, scd):
with open(fst) as f:
g = f.read().splitlines()
with open (scd) as ref:
ref_lines = ref.read().splitlines()
return g, ref_lines
def compare(run, sta):
with open("unum_change.txt", "w+") as diff:
for i in range(len(run)):
if run[i] != sta[i]:
diff.write(f"{binascii.unhexlify(g[i][1:])}\n")
问题出在以下代码中:
def trans ():
with open ('unum_change.txt', 'rb') as change, open ('reconv_change.txt', 'w') as file2:
contents = change.readlines()
for j in range(len(contents)):
file2.write(f"{binascii.hexlify(contents[j])}\n")
所需的输出应采用以下格式:
104A80000A0000000D0A0000554E49543A20303308
但相反,我得到了这样的格式:
62275c7831304a5c7838305c7830305c6e5c7830305c7830305c7830305c725c6e5c7830305c783030554e49543a2030395c7427200d0a
解决方案
推荐阅读
- python - 如何将 keras 顺序 API 转换为功能 API
- powershell - 如何在代码执行期间禁用 Powershell GUI 按钮?
- sapui5 - sap.ui.table.Table 和可见行数
- python - 如何使用列表推导对 Python 3 中的矩阵执行数学运算?
- c++ - miDebuggerPath 无效
- python-3.x - 如何使用浮点数迭代整数列表?
- perl - Perl 催化剂开发服务器不接受连接
- windows - 什么样的反调试技术不允许附加用户模式调试器?
- google-cloud-platform - 如何在 Google Cloud Shell 中更新默认计算区域和配置区域 - CLI
- android - 为什么使用导航切换BottomNavigationView 图像消失?