Python学习笔记015——文件file的常规操作之二(二进制文件)

Posted gengyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记015——文件file的常规操作之二(二进制文件)相关的知识,希望对你有一定的参考价值。

1 字节(byte)的单位

1KB = 2*10 Bytes

1MB = 1KB * 1024 = 2**20 Bytes

1GB = 1KB * 1K * 1K = 2**30 Bytes

# 1byte = 8bit(位)

2 二进制文件

二进制文件是以字节(byte) 为单位存储的,

不以换行符(\n)为单位进行区分内容的文件读写方法

3 打开模式mode

’ b ‘

4 字节串 bytes

字节串也称之为字节序列

存储时以字节为单位的数据

字节串时不可变的字节序列

(如果不好理解,可以参考元组)

 

备注:

字节是0~255(2**8-1)之间的整数(0b11111111, 0b00000000)

字符串存的数是1~65535(2**16-1)之间的数(UNICODE16/UNICODE32)

5  创建字节串

在非特殊情况下,在创建字符串时,单引号和双引号具有相同的作用

5.1 创建空字节串

创建空字符串有两种方式

方式1:

>>> b = b""
>>> b
b‘‘
>>> B = B""
>>> B
b‘‘ 

方式2:

>>> D = bytes()
>>> D
b‘‘

5.2 创建非空字节串

>>> a = b"ABCD"
>>> b = b"ABCD"
>>> c = b‘‘‘ABCD‘‘‘
>>> d = b\x41\x42
>>> a
bABCD
>>> b
bABCD
>>> c
bABCD
>>> d
bAB

6 字节串的构造(创建)函数 bytes

bytes() :创建一个空字节串, 等同于b‘‘
bytes(整型可迭代对象)  : 用可迭代对象初始化一个字节串(数值必须是0~255的整数)
bytes(整数n) : 生成n个值为0的字节串
bytes(字符串, encoding=‘utf-8‘)  :用字符串转换编码生成一个字节串

示例

>>> b = bytes(range(0x41,0x41+26))
>>> b
bABCDEFGHIJKLMNOPQRSTUVWXYZ

>>> c = bytes(4)
>>> c
b\x00\x00\x00\x00

>>> e = bytes("python", ascii)
>>> e
bpython

>>> f = bytes("中文",utf-8)
>>> f
b\xe4\xb8\xad\xe6\x96\x87

7 字节串的运算

+  +=  *   *=

比较运算: <  <=  >  >=  ==  !=

in /not in 运算符

索引 index

切片 slice

8 二进制文件的写操作示例

 

 

 

 

 

 

 

 

 

 




以上是关于Python学习笔记015——文件file的常规操作之二(二进制文件)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记015——序列(字节数组 bytearray)

学习笔记TF015:加载图像图像格式图像操作颜色

python学习记录8 ----------file文件操作

Python学习笔记(十三)

linux学习笔记18--文件

Python学习笔记Coursera之PY4E学习笔记——File