一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

軟件測(cè)試/測(cè)試開(kāi)發(fā)丨Python文件操作 學(xué)習(xí)筆記

 江海博覽 2023-11-02 發(fā)布于浙江
霍格沃茲測(cè)試開(kāi)發(fā)學(xué)社
霍格沃茲測(cè)試開(kāi)發(fā)學(xué)社
2023-10-8 16:05

本文為霍格沃茲測(cè)試開(kāi)發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享
原文鏈接:Python側(cè)開(kāi)28期-偕行-學(xué)習(xí)筆記-python文件操作 - 學(xué)習(xí)筆記 - 測(cè)試人社區(qū)

文件操作

  • 在程序中操作文件和使用圖形界面操作文件的過(guò)程基本一致,都要進(jìn)行找到文件位置,打開(kāi)文件,讀寫(xiě)文件,關(guān)閉文件等操作。

1、打開(kāi)文件

  • Python 使用 open 方法用于打開(kāi)一個(gè)文件,并返回文件對(duì)象,在對(duì)文件進(jìn)行處理過(guò)程都需要使用到這個(gè)函數(shù),如果該文件無(wú)法被打開(kāi),會(huì)拋出 OSError。
  • 完整格式:
open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • 簡(jiǎn)化格式:open(filename, mode='r', encoding=None);
    • filename: 必需,指定打開(kāi)文件的路徑(相對(duì)或者絕對(duì)路徑);
    • mode: 可選,文件打開(kāi)模式,默認(rèn)為r只讀模式;
    • encoding: 一般使用 utf8;
  • mode參數(shù)常見(jiàn)下表:

2、關(guān)閉文件

  • 文件在操作完以后,需要將其關(guān)閉,close() 方法用于關(guān)閉一個(gè)已打開(kāi)的文件。關(guān)閉后的文件不能再進(jìn)行讀寫(xiě)操作, 否則會(huì)觸發(fā) ValueError 錯(cuò)誤。
  • close() 方法允許調(diào)用多次。
  • 格式:fileObject.close();

3、寫(xiě)入文件

  • fileObject.write( str ): 用于向文件中寫(xiě)入指定字符串。如果文件打開(kāi)模式為b ,則要將字符串轉(zhuǎn)換成 bytes 類型的二進(jìn)制字符串,函數(shù)返回成功寫(xiě)入數(shù)據(jù)的長(zhǎng)度
# 以寫(xiě)入文件打開(kāi) index.html 文件
file = open('index.html', 'w')
# 寫(xiě)入數(shù)據(jù)
result1 = file.write('<h1>文件寫(xiě)入標(biāo)題</h1>')
result2 = file.write('\n')
result3 = file.write('<p>文件寫(xiě)入內(nèi)容。。。。。。</p>')
print('result1=',result1)# result1= 15
print('result2=',result2)# result2= 1
print('result3=',result3)# result3= 19
# 關(guān)閉文件
file.close()
  • fileObject.writelines(seq):用于向文件中寫(xiě)入一序列的字符串。這一序列字符串可以是由迭代對(duì)象產(chǎn)生的,如一個(gè)字符串列表。
    • 注意:不要被方法名迷惑,如果每個(gè)元素獨(dú)占一行,需要在數(shù)據(jù)后指定換行符 \n 。
datas = ['AAAAAAAAAAAA\n','BBBBBBBBBBBB\n','CCCCCCCCCCCC\n','DDDDDDDDDDDD\n'] file = open('data.txt','w') result = file.writelines(datas) print('result=',result)# result= None file.close()

4、讀取文件

  • fileObject.read(size=-1):用于從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。
  • 注意光標(biāo)的位置,連續(xù)讀取文件沒(méi)有關(guān)閉的時(shí)候,光標(biāo)會(huì)隨著讀取而向后移動(dòng),不會(huì)回到默認(rèn)起始位置;
file = open('data.txt','r')
# 讀取10個(gè)字符
content = file.read(10)
print(content)
# 讀取所有內(nèi)容
content = file.read()
print(content)
file.close()
------------------------------
AAAAAAAAAA
AA
BBBBBBBBBBBB
CCCCCCCCCCCC
DDDDDDDDDDDD
  • fileObject.readline(size=-1): 用于從文件讀取整行,包括 \n 字符。如果指定了一個(gè)非負(fù)數(shù)的參數(shù),則返回指定大小的字節(jié)數(shù),包括 \n 字符。
  • 該方法默認(rèn)讀取一行,如果指定了長(zhǎng)度,會(huì)讀取這一行中的給定長(zhǎng)度,并且如果文件不關(guān)閉,光標(biāo)也不會(huì)回到默認(rèn)起始位置,再次讀取會(huì)從光標(biāo)所在位置讀取這一行剩下的內(nèi)容;
file = open('data.txt','r') # 讀取10個(gè)字符 content = file.readline(10) print(content) # 讀取文件指針?biāo)谛惺S嗨袃?nèi)容 content = file.readline() print(content) file.close() --------------------------------------------- AAAAAAAAAA AA
  • fileObject.readlines():用于讀取所有行(直到結(jié)束符 EOF)并返回列表。
file = open('data.txt','r')
# 以行為單位讀取文件所有的內(nèi)容
contents = file.readlines()
print(contents)
file.close()
--------------------------------------------------
['AAAAAAAAAAAA\n', 'BBBBBBBBBBBB\n', 'CCCCCCCCCCCC\n', 'DDDDDDDDDDDD\n']

5、作業(yè)

作業(yè)要求

編寫(xiě)一個(gè)Python程序,將一些文本內(nèi)容寫(xiě)入到文件中,并且能夠從文件中讀取內(nèi)容并顯示出來(lái)

''' 作業(yè)要求 編寫(xiě)一個(gè)Python程序,將一些文本內(nèi)容寫(xiě)入到文件中,并且能夠從文件中讀取內(nèi)容并顯示出來(lái) ''' def file_write(filename,msg,mode='a',encoding='utf8'): ''' 文件寫(xiě)入方法,支持寫(xiě)入:字符串和一序列的字符串 :param filename:文件名稱 :param msg:寫(xiě)入內(nèi)容 :param mode:文件打開(kāi)方式 :param encoding:內(nèi)容編碼 :return: ''' file = open(filename,mode,encoding=encoding) if isinstance(msg,str): # 寫(xiě)入字符串類型 file.write(msg) elif isinstance(msg,list): # 寫(xiě)入序列字符串 file.writelines(msg) else: # 關(guān)閉文件 file.close() raise Exception('msg type erroe') # 關(guān)閉文件 file.close() def file_read(filename,size=-1,mode='r',encoding='utf8'): ''' 讀取文件,支持讀取一行或所有 :param filname: 文件名 :param size: -1表示讀取所有, :param mode: 文件打開(kāi)方式 :param encoding: 內(nèi)容編碼 :return: ''' file = open(filename, mode, encoding=encoding) if size == -1: # 讀取所有內(nèi)容 content = file.read() file.close() return content elif size == 1: # 讀取一行 content = file.readline() file.close() return content else: # 關(guān)閉文件 file.close() raise Exception('size error') if __name__ == '__main__': # 寫(xiě)入文件 filename = 'demo.txt' # msg = '霍格沃茲測(cè)試開(kāi)發(fā)學(xué)社\n' # file_write(filename,msg) # msg = ['AAAAAAAAAAAA\n','BBBBBBBBBBBB\n','CCCCCCCCCCCC\n','DDDDDDDDDDDD\n'] # file_write(filename, msg) # 讀取文件 line = file_read(filename,1) print(line) all = file_read(filename) print(all)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    国产在线一区二区三区不卡| 日韩精品一区二区三区四区| 99热在线播放免费观看| 国产男女激情在线视频| 中文字幕欧美视频二区| 日本中文在线不卡视频| 激情丁香激情五月婷婷| 大胆裸体写真一区二区| 亚洲少妇一区二区三区懂色| 香蕉网尹人综合在线观看| 欧美91精品国产自产| 国产又粗又硬又大又爽的视频| 午夜精品久久久免费视频| 成人亚洲国产精品一区不卡| 色婷婷人妻av毛片一区二区三区| 亚洲精品小视频在线观看| 黄色在线免费高清观看| 国产精品一区二区三区激情| 国产午夜福利一区二区| 国产成人精品国产亚洲欧洲| 午夜国产福利在线播放| 亚洲中文字幕高清乱码毛片| 丁香七月啪啪激情综合| 欧美日韩国产精品第五页| 中文字幕日韩欧美一区| 欧美同性视频免费观看| 亚洲综合色在线视频香蕉视频| 激情五月天深爱丁香婷婷| 亚洲视频在线观看你懂的| 日韩国产亚洲欧美另类| 丝袜诱惑一区二区三区| 国产精品白丝久久av| 精品欧美国产一二三区| 青草草在线视频免费视频| 国产一区二区不卡在线播放| 老司机精品线观看86| 欧美亚洲综合另类色妞| 国产韩国日本精品视频| 大屁股肥臀熟女一区二区视频| 国产又大又黄又粗又免费| 黄色片一区二区三区高清|