python把文件转化为二进制流-python:将一个文件转换为二进制文件(binary)

代码如下:

import sys

Numbers_In_Line = 16 #一行有几个数字

"""

* 将一个文件转换为二进制文件(binary)

* python3 tran_to_binary.py input_file out_file

* 20190713

"""

class TranStrToBinary():

def tran_string_to_binary(self,buf):

bytes_str = bytes(buf, encoding="utf-8")

strbuf = ""

for i in range(0,len(bytes_str)):

tmp_str = str(hex(bytes_str[i]))

tmp_str = tmp_str[2:].rstrip()

if len(tmp_str) < 2:

strbuf += "0" + tmp_str + " "

else:

strbuf += tmp_str + " "

num = Numbers_In_Line * 3

listBuf = list(strbuf)

line_count = len(listBuf)

if line_count / num > 0:

for i in range(0,int(line_count / num)):

pos = (i + 1) * num

listBuf[pos-1] = " "

strbuf = "".join(listBuf)

return strbuf.rstrip()

def tran_binary(self,inputFile,outputFile):

try:

with open(inputFile,"r") as fp_r:

bufs = fp_r.read()

except FileNotFoundError:

print("The input files is not exist !")

exit(2)

print(self.tran_string_to_binary(bufs))

with open(outputFile,"w") as fp_w:

fp_w.write(self.tran_string_to_binary(bufs))

if __name__ == "__main__":

print(str(sys.argv[0]) + " enter")

tstb = TranStrToBinary()

if len(sys.argv) != 3:

print("The Bad Parameters !")

exit(1)

tstb.tran_binary(sys.argv[1],sys.argv[2])

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值