python脚本 实现读取文件中二进制数并转化成16进制,第一个参数是输入文件,第二个是输出文件
时间: 2024-04-13 11:24:52 浏览: 129
以下是一个示例的Python脚本,用于读取一个文件中的二进制数并将其转换为十六进制,并将结果写入另一个输出文件中:
```python
def binary_to_hex(binary_string):
decimal_num = int(binary_string, 2) # 将二进制字符串转换为十进制数
hex_num = hex(decimal_num)[2:] # 将十进制数转换为十六进制字符串,并去除前缀"0x"
return hex_num
def convert_binary_to_hex(input_file, output_file):
with open(input_file, 'rb') as f_in:
binary_data = f_in.read() # 以二进制模式读取文件内容
binary_string = ''.join(format(byte, '08b') for byte in binary_data) # 将二进制数据转换为二进制字符串
hex_string = binary_to_hex(binary_string)
with open(output_file, 'w') as f_out:
f_out.write(hex_string) # 将十六进制字符串写入输出文件
input_file = input("请输入输入文件名:") # 从用户输入获取输入文件名
output_file = input("请输入输出文件名:") # 从用户输入获取输出文件名
convert_binary_to_hex(input_file, output_file)
print("转换完成!")
```
你可以运行这个脚本,并输入一个输入文件名和输出文件名,它将会读取输入文件中的二进制数据,将其转换为十六进制,并将结果写入输出文件中。
请确保输入文件存在且包含有效的二进制数据。输出文件将会被创建或覆盖,如果输出文件已存在,其内容将会被替换。
注意:这个脚本假设输入文件中的数据是有效的,并且不对输入进行错误检查。在实际应用中,你可能需要添加适当的错误处理和边界检查来确保输入的正确性和安全性。
阅读全文