成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

pythonbin文件處理

1. 基礎(chǔ)知識(shí)掌握

創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的建甌網(wǎng)站建設(shè)公司,建甌接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行建甌網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

bin文件: open函數(shù)創(chuàng)建file對(duì)象

打開(kāi)文件的不同模式:例子:open(“file.txt”,‘r’)

模式  描述

r  以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。

rb  以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。

r+  打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。

rb+  以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。

w  打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

wb  以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

w+  打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

wb+  以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

a  打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。

ab  以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。

a+  打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

ab+  以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

t  文本默認(rèn)

x  寫(xiě)模式,新建一個(gè)文件,如果該文件存在,則會(huì)報(bào)錯(cuò)。

b  二進(jìn)制模式

+  打開(kāi)一個(gè)文件進(jìn)行更新(可讀可寫(xiě))。

bin文件的python struct庫(kù) 讀寫(xiě)屬性

a = struct.pack('B',0x00)

b = struct.unpack(‘B’,a)

這塊可以使用python編譯的看一下哦!(你就明白了)

1. struct.pack用于將Python的值根據(jù)格式符,轉(zhuǎn)換為字符串(因?yàn)镻ython中沒(méi)有字節(jié)(Byte)類(lèi)型,

可以把這里的字符串理解為字節(jié)流,或字節(jié)數(shù)組)。其函數(shù)原型為:struct.pack(fmt, v1, v2, ...),

參數(shù)fmt是格式字符串,關(guān)于格式字符串的相關(guān)信息在下面有所介紹。v1, v2, ...表示要轉(zhuǎn)換的python值。

2. struct.unpack做的工作剛好與struct.pack相反,用于將字節(jié)流轉(zhuǎn)換成python數(shù)據(jù)類(lèi)型。它的

函數(shù)原型為:struct.unpack(fmt, string),該函數(shù)返回一個(gè)元組

Format  C Type  Python  字節(jié)數(shù)

x  pad byte  no value  1

c  char  string of length 1  1

b  signed char  integer  1

B  unsigned char  integer  1

?  _Bool  bool  1

h  short  integer  2

H  unsigned short  integer  2

i  int  integer  4

I  unsigned int  integer or long  4

l  long  integer  4

L  unsigned long  long  4

q  long long  long  8

Q  unsigned long long  long  8

f  float  float  4

d  double  float  8

s  char[]  string  1

p  char[]  string  1

P  void *  long

這快就類(lèi)似于C語(yǔ)言中的字節(jié)對(duì)齊,大小端的選擇

例子:(后面有說(shuō)明)

a = struct.pack('

b = struct.pack('>I',0x12345678) #四字節(jié)存入,按大端存儲(chǔ)

Character  Byte order  Size and alignment

@  native  native 湊夠4個(gè)字節(jié)

=  native  standard 按原字節(jié)數(shù)

<  little-endian  standard 按原字節(jié)數(shù)

>  big-endian  standard 按原字節(jié)數(shù)

!  network (= big-endian)  standard 按原字節(jié)數(shù)

2. bin文件的打開(kāi)和模式

file = open(file_name,'wb')#二進(jìn)制寫(xiě)模式

file = open(file_name,'rb')#二進(jìn)制讀模式

file = open(file_name,'ab')#二進(jìn)制補(bǔ)充讀寫(xiě)模式

3. bin文件讀取

import struct

import os

def ReadFile():

filepath='7.bin'

binfile = open(filepath, 'rb') #打開(kāi)二進(jìn)制文件

size = os.path.getsize(filepath) #獲得文件大小

for i in range(size):

data = binfile.read(1) #每次輸出一個(gè)字節(jié)

print(data)

binfile.close()

if __name__ == '__main__':

ReadFile()

7.bin文件如下

python bin文件處理

4. bin文件寫(xiě)入

import struct

import os

def WriteFile():

filepath='7.bin'

data = 123

binfile = open(filepath, 'ab+') #打開(kāi)二進(jìn)制文件(追加完成)

a = struct.pack('B',data)

binfile.write(a)

binfile.close()

if __name__ == '__main__':

WriteFile()

7.bin文件

python bin文件處理

效果圖

python bin文件處理

5. bin文件的大小端寫(xiě)入

import struct

file_name = "5.bin"

def Big_little_endian():

file = open(file_name,'wb')

a = struct.pack('I',0x12345678) #四字節(jié)存入,正常狀態(tài)

b = struct.pack('

c = struct.pack('>I',0x12345678) #四字節(jié)存入,按大端存儲(chǔ)

file.write(a)

file.write(b)

file.write(c)

file.close()

if __name__ == '__main__':

Big_little_endian()

6. bin文件的寫(xiě)0

import struct

bin_file_1 = "1.bin"

def write0x00():

file = open(bin_file_1,'wb')

for i in range(1,0xFF):

data = struct.pack('B',0x00) #寫(xiě)0

file.write(data)

file.close

if __name__ == '__main__':

write0x00()

效果圖:

python bin文件處理

7. bin文件的寫(xiě)1

import struct

bin_file_2 = "2.bin"

def write0xFF():

file = open(bin_file_2,'wb')

for i in range(0,0xFF):

data = struct.pack('B',0xFF) #寫(xiě)1

file.write(data)

file.close

if __name__ == '__main__':

write0x00()

效果圖:無(wú)錫正規(guī)婦科醫(yī)院 http://www.jlfukeyy.com/

python bin文件處理

8. bin文件的合并

1.bin和2.bin合并成merage.bin

import struct

bin_file_1 = "1.bin"

bin_file_2 = "2.bin"

bin_file_merage = "merage.bin"

def merage_bin():

file_merage = open(bin_file_merage,'wb')

file_1 = open(bin_file_1,'rb')

data = file_1.read()

file_merage.write(data)

file_2 = open(bin_file_2,'rb')

data = file_2.read()

file_merage.write(data)

file_1.close()

file_2.close()

file_merage.close()

if __name__ == '__main__':

merage_bin()

效果圖:

python bin文件處理

9. bin文件寫(xiě)入字符串

import struct

import string

bin_file_1 = "7.bin"

enter = memoryview(b"STARTX") #返回值是元組

def writeString():

file = open(bin_file_1,'wb')

for i in enter:

data = struct.pack('B',i)

file.write(data)

file.close

if __name__ == '__main__':

writeString()

效果圖:

python bin文件處理

網(wǎng)站標(biāo)題:pythonbin文件處理
路徑分享:http://jinyejixie.com/article36/posssg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)服務(wù)器托管、微信公眾號(hào)網(wǎng)站導(dǎo)航、Google網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
泗洪县| 华蓥市| 克什克腾旗| 广灵县| 建宁县| 伊宁市| 安图县| 连江县| 曲阜市| 同江市| 太仓市| 松溪县| 沈丘县| 虎林市| 克什克腾旗| 石柱| 建平县| 扎鲁特旗| 桐柏县| 新干县| 辽源市| 锡林浩特市| 玉树县| 肥城市| 扎兰屯市| 加查县| 新野县| 武义县| 西华县| 剑川县| 太谷县| 胶州市| 安龙县| 乌兰察布市| 武强县| 宜阳县| 富平县| 行唐县| 牡丹江市| 萝北县| 苍南县|