python 二进制

1.二进制

在电脑的数据存储中任何东西都可以用二进制来表示,这里我们介绍一种用二进制读写的方式。

  import os
import pickle
srcfloder = "./exm.py"
with open(srcfloder,'rb') as fin:
  a = fin.read()
  print(a)
  with open("./exm.bin",'wb') as f:
    pickle.dump(a,f,-1)

with open("exm.bin",'rb') as f:
  print(a)
  b = pickle.load(f)
  print(b)

b'import os\r\nimport pickle\r\nsrcfloder = "./exm.py"\r\nwith open(srcfloder,\'rb\') as fin:\r\n  a = fin.read()\r\n  print(a)\r\n  with open("./exm.bin",\'wb\') as f:\r\n    pickle.dump(a,f,-1)\r\n\r\nwith open("exm.bin",\'rb\') as f:\r\n  print(a)\r\n  b = pickle.load(f)\r\n  print(b)'
b'import os\r\nimport pickle\r\nsrcfloder = "./exm.py"\r\nwith open(srcfloder,\'rb\') as fin:\r\n  a = fin.read()\r\n  print(a)\r\n  with open("./exm.bin",\'wb\') as f:\r\n    pickle.dump(a,f,-1)\r\n\r\nwith open("exm.bin",\'rb\') as f:\r\n  print(a)\r\n  b = pickle.load(f)\r\n  print(b)'
b'import os\r\nimport pickle\r\nsrcfloder = "./exm.py"\r\nwith open(srcfloder,\'rb\') as fin:\r\n  a = fin.read()\r\n  print(a)\r\n  with open("./exm.bin",\'wb\') as f:\r\n    pickle.dump(a,f,-1)\r\n\r\nwith open("exm.bin",\'rb\') as f:\r\n  print(a)\r\n  b = pickle.load(f)\r\n  print(b)'

这里我们可以看到读入和写出是一样的,在这里我们需要注意,我们以什么方式来读取文件,就会以什么方式来写出文件。

import os
import pickle
import mxnet as mx
import cv2 as cv
import numpy as np
from  mxnet import nd
from PIL import Image
with open("./1.jpg",'rb') as fin:
  a = fin.read()
  img = mx.image.imdecode(a,to_rgb=0)
  img = nd.transpose(img, axes=(2, 0, 1))
  xiaowang = float(img.asnumpy())
  cv.imwrite("2.jpg", xiaowang)
  print(a)
  with open("./tupian.bin", 'wb') as f:
    pickle.dump(a, f, protocol=pickle.HIGHEST_PROTOCOL)

with open("tupian.bin",'rb') as f:
  print(a)
  b = pickle.load(f)
  img = mx.image.imdecode(b)
  img = nd.transpose(img, axes=(2, 0, 1))

  print(b)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容