1. 程式人生 > 其它 >post介面請求測試,通俗易懂!

post介面請求測試,通俗易懂!

一、檔案讀寫分類

【1】w,寫檔案:如果檔案不存在,先建立一個檔案,然後寫入

【2】r,讀檔案,需要注意編碼型別,要和寫入檔案時一致

【3】wb,寫檔案。如果寫入的是bytes型別,則不需要編碼解碼

【4】wb,寫檔案,如果寫入的是字串型別,則需要編碼解碼

【5】rb,讀檔案,如果讀取的是bytes型別,則不需要編碼解碼

【6】rb,讀檔案,如果讀取的是字串型別,則需要編碼解碼

# -*- coding:utf-8 -*-
# __author__:
# 2022/5/8
# 檔案讀寫

# w寫檔案,如果檔案不存在,先建立一個檔案,然後寫入
with open('/Users/x/Desktop/database/data/write.txt','w',encoding='utf8') as f:
    f.write('abcabcabc嗄')

# r讀檔案,需要注意編碼型別,要和寫入檔案時一致
with open('/Users/x/Desktop/database/data/write.txt','r',encoding='utf8') as f:
    print(f.read())

# wb寫檔案。如果寫入的是bytes型別,則不需要編碼解碼
with open('/Users/x/Desktop/database/data/bwrite.txt','wb') as f:
    f.write(b'abc123')

# rb讀檔案,如果讀取的是bytes型別,則不需要編碼解碼
with open('/Users/x/Desktop/database/data/bwrite.txt','rb') as f:
    print(f.read())

# wb寫檔案,如果寫入的是字串型別,則需要編碼解碼
with open('/Users/x/Desktop/database/data/bswrite.txt','wb') as f:
    f.write('碎碎念念'.encode('utf8'))

# rb讀檔案,如果寫入的是字串型別,則需要編碼解碼
with open('/Users/x/Desktop/database/data/bswrite.txt','rb') as f:
    print(f.read().decode('utf8'))

二、圖片、視屏、word檔案、excel表格、pdf複製

【1】以二進位制讀寫

# -*- coding:utf-8 -*-
# __author__:
# 2022/5/8
# 讀取png內容,寫入到另一個檔案內並重命名(複製後重命名)
# 以二進位制形式讀寫:圖片、視屏、word檔案、excel表格、pdf

# 定義一個變數,儲存讀取後的資料
pngData = b''

# 讀取資料
with open('/Users/x/Desktop/database/data/img1.png','rb') as f:
    pngData = f.read()

#複製寫入資料,並且重新命名
with open('/Users/x/Desktop/database/data/img2.png','wb') as f:
    f.write(pngData)

三、判斷檔案型別

【1】匯入chardet包

【1】以二進位制方式讀取檔案中的內容,用chardet.detect方法判斷檔案型別

# -*- coding:utf-8 -*-
# __author__:
# 2022/5/8

# 判斷檔案編碼型別 chardet

import chardet

# 二進位制方式讀取檔案內容,讀取位元組資料,檢測型別
def getFileType(file):
    with open(file,'rb') as f:
        # 讀取其中的1024個位元組即可
        data = f.read(1024)
        # chardet.detect方法會返回三個引數:encoding(編碼型別)、confidence(相似度)、language(語言)
        # 返回回參中的encoding
        return chardet.detect(data)['encoding']


file = '/Users/x/Desktop/database/data/write.txt'
print(getFileType(file))

四、網頁編碼方式

# 通過apparent_encoding方法獲取網頁要求的編碼方式,賦值給encoding,則不會造成網頁編碼錯誤
response.encoding = response.apparent_encoding