18 python 位元組串和檔案file

2021-10-03 02:13:55 字數 3771 閱讀 5359

a = bytes()

print(a)

b = bytes(range(65,100))

print(b)

c = bytes(10)

print(c)

d = bytes('你好','utf-8')

print(d)

執行結果:

b''b'abcdefghijklmnopqrstuvwxyz[\\]^_`abc'

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

b'\xe4\xbd\xa0\xe5\xa5\xbd'

0\x00\x00\x00'

b'\xe4\xbd\xa0\xe5\xa5\xbd'

文字檔案操作模式:

模式字元:

『t'(預設)

1、預設檔案中儲存的資料為字元資料,以行為單位分隔,在python內部統一用』\n『作為換行符進行分隔。

2、對文字檔案的讀寫需要用字串(str)進行讀取和寫入資料

各種作業系統的換行符:

linux 換行符: '\n'                            windows換行符:』\r\n'

舊的macintosh換行符:'\r'              新的mac os換行符:'\n'

說明:在檔案檔案模式下,各作業系統的換行符在讀入python內部時轉換為字元『\n'

'w'以只寫的方式開啟, 刪除原有檔案內容(如果檔案不存在,則建立該檔案並以只寫方式開啟。

』x『 建立乙個新檔案,並以寫模式開啟這個檔案,如果檔案存在則會產生』『fileexistserror』錯誤

』a『 以只寫檔案開啟乙個檔案,如果有原始檔則追加到檔案末尾

』b『 用二進位制模式開啟

』t『 文字檔案模式開啟(預設)

』+『 為更新內容開啟乙個磁碟檔案(可讀可寫)

w, r, wt, rt 都是python裡面檔案操作的模式。

w 是寫模式,r 是讀模式。

t 是 windows 平台特有的所謂text mode(文字模式),區別在於會自動識別 windows 平台的換行符。

類 unix 平台的換行符是\n,而 windows 平台用的是\r\n兩個 ascii 字元來表示換行,python 內部採用的是\n來表示換行符。

rt 模式下,python 在讀取文字時會自動把\r\n轉換成\n

wt 模式下,python 寫檔案時會用\r\n來表示換行。

f.read() 讀取全部內

f.read(x)讀取x個字元

open('.txt','w')

f.write('你好')

f.writelines(['aaaa\n','bbb\n'])

檔案的關閉方法:

f.close()    關容閉檔案,釋放系統資源。方法

說明f.close()

關閉檔案(關閉後檔案不能在進行讀寫操作)

f.flush()

重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。

f.readline([size])

讀取整行,包括 "\n" 字元。

f.readlines([size])

讀取所有行並返回列表,若給定sizeint>0,則是設定一次讀多少位元組,這是為了減輕讀取壓力

#此示例示意檔案的開啟,讀取以及關閉

#第一步開啟檔案

f = open('test1','rt')

print('開啟檔案成功')

#第二步,讀取檔案

s = f.read() #讀取全部內容

print(s)

#第三步,關閉檔案

f.close()

print('檔案已經關閉')

#open返回的檔案流物件是可迭代物件。

f = open("c:/users/administrator/desktop/一些命令.txt")

for line in f:

print(line)

f.seek(偏移量,相對位置) 作用:返回當前檔案的讀寫位置

偏移量:

大於0的數代表向檔案尾方向移動

小於0代表向檔案頭方向移動

相對位置:

0  代表從檔案頭開始偏移

1  代表從當前位置開始偏移

2  代表從檔案尾開始偏移

注意:在文字檔案中,沒有使用b模式選項開啟的檔案,只允許從檔案頭開始計算相對位置,從檔案尾計算時就會引發異常。

f = open("c:/users/administrator/desktop/一些.txt","rb+")

print(f.seek(1,1))

print(f.tell())

print(f.seek(1,1))

print(f.tell())

執行結果:11

22

f.tell()函式:

作用:返回當前檔案讀寫位置。

檔案操作的兩種模式:

'b' 二進位制模式    't' 文字模式

file = open('test')

k = file.tell()

print(k)

s = file.read(5)

print(s)

s2 = file.read(2)

print(s2)

漢字編碼:python3的字串內部都是用unicode來儲存字元的。

python編碼(encode)字串:『gb2312』,'gbk','gb18030','utf-8','ascii'

國標系列   gb18030(二位元組或四位元組編碼,共27533個漢字)

gbk(二進位制接編碼,共21003個漢字)

gb2312(二位元組編碼,共6763個漢字)

國際標準:

unicode32(unicode16) <------>  utf-8(linux ,mac 常用)

在python原始檔第一行或第二行寫入如下內容是告訴解釋執行器,此檔案的編碼型別是什麼

如下:# -*- coding:gbk -*-     #設定原始檔編碼格式為gbk

18Python讀取Word文件內容

pip install python docx word文件結構 document 文件 paragraph 段落 run 文字塊 讀取word文件內容 doc.paragraphs 得到的是乙個列表,包含了每個段落的例項 from docx import document doc document...

18 Python常用資料型別操作2

概念 有序的可變的元素集合 定義 方式1 元素1,元素2.例如 nums 1,2,3,4,5 方式2列表生成式 快速生成list 語法range stop 0,1,2 stop 1 range start,stop step start,start step,start 2 step 右 1左 右 ...

18 python基礎7 閉包函式和裝飾器

在函式內部定義的函式包含對外部作用域 非全域性作用域 的引用,這樣的函式叫做閉包函式。示例 name tom deffunc name jack def bar print name return bar f func f bar f 呼叫bar 輸出結果 jack 上述 執行結果列印的是jack而...