摘要:我是布小禪,一枚自學(xué)萌新,跟著我每天進(jìn)步一點(diǎn)點(diǎn)吧說(shuō)了這么多暫時(shí)也就夠了,那么就告辭吧
算法作為極其重要的一點(diǎn),是大學(xué)生畢業(yè)找工作的核心競(jìng)爭(zhēng)力,所以為了不落后與人,開始刷力扣算法題!
大家好,我是布小禪,一個(gè)盡力讓無(wú)情的代碼變得生動(dòng)有趣的IT小白,很高興能偶認(rèn)識(shí)你,關(guān)注我,每天堅(jiān)持學(xué)點(diǎn)東西,我們以后就是大佬啦!
在Python中使用文件操作,不需要你像別的編程語(yǔ)言一樣去了解IO操作,文件操作,System流等…
open函數(shù)是Python內(nèi)置的一個(gè)函數(shù),用于打開文件。
open函數(shù)可以打開一個(gè)文件,并返回一個(gè)文件對(duì)象,我們使用這個(gè)文件對(duì)象可以通過(guò)操作文件指針來(lái)操作文件。
open函數(shù)的常用參數(shù)
open(file, mode="r", encoding="utf-8")
file為文件名,可以選擇使用相對(duì)路徑和絕對(duì)路徑。如果你還不知道什么是相對(duì)路徑和絕對(duì)路徑的話,那么可以百度一下。
mode為打開方式/模式,有以下幾個(gè)模式
模式名 | 作用 |
---|---|
r | 只讀 |
w | 只寫 |
a | 追加 |
rb | 二進(jìn)制讀取 |
wb | 二進(jìn)制寫入 |
r+/w+ | 讀寫 |
a+ | 追加寫入/讀取 |
encoding是指定以什么編碼格式打開或者寫入文件,一般有
utf-8、ACSII、gbk、gb2312
有一點(diǎn)需要注意的是,每次我們打開一個(gè)文件后,我們使用完后,都需要使用一個(gè)方法來(lái)關(guān)閉文件鏈接,否則會(huì)造成意想不到的錯(cuò)誤。
關(guān)閉文件對(duì)象的方法:
a = open("test.txt", "r", encoding="utf-8") # 使用想對(duì)路徑打開一個(gè)名為test.txt的文件,模式為只讀,編碼格式為utf-8a.close() # 關(guān)閉文件連接
利用文件對(duì)象進(jìn)行各種操作,常見的操作有
file.read()
讀取所有內(nèi)容,以字符串形式返回file.readline()
讀取一行file.readlines()
讀取所有行,并返回一個(gè)列表file.write()
寫入代碼展示:
a = open("test.txt", "r", encoding="utf-8")p1 = a.read()a.close()a = open("test.txt", "r", encoding="utf-8")p2 = a.readline()a.close()a = open("test.txt", "r", encoding="utf-8")p3 = a.readlines()a.close()a = open("test.txt", "a+", encoding="utf-8")a.write("不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧!不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧")a.close()a = open("test.txt", "r", encoding="utf-8")p4 = a.read()a.close()print(f"p1為:{p1} /n p1的類型為:{type(p1)}")print(f"p2為:{p2} /n p2的類型為:{type(p2)}")print(f"p3為:{p3} /n p3的類型為:{type(p3)}")print(f"p4為:{p4} /n p4的類型為:{type(p4)}")
文本文件:
大家好,我是布小禪,一個(gè)盡力讓無(wú)情的代碼變得生動(dòng)有趣的IT小白,很高興能偶認(rèn)識(shí)你,關(guān)注我,每天堅(jiān)持學(xué)點(diǎn)東西,我們以后就是大佬啦!想進(jìn)群交流的,可以加我QQ哦,2228660752,群里面有好多學(xué)習(xí)資料~~爬蟲技術(shù)資深老手,web技術(shù)資深老手,數(shù)據(jù)分析技術(shù)資深老手,AI資深老手,自動(dòng)化技術(shù)資深老手,你想學(xué)的,我這里都有
輸出:
p1為:大家好,我是布小禪一個(gè)盡力讓無(wú)情的代碼變得生動(dòng)有趣的IT小白,很高興能偶認(rèn)識(shí)你關(guān)注我,每天堅(jiān)持學(xué)點(diǎn)東西,我們以后就是大佬啦!想進(jìn)群交流的,可以加我QQ哦,2228660752,群里面有好多學(xué)習(xí)資料~~爬蟲技術(shù)資深老手,web技術(shù)資深老手,數(shù)據(jù)分析技術(shù)資深老手,AI資深老手,自動(dòng)化技術(shù)資深老手,你想學(xué)的,我這里都有~~ p1的類型為:<class "str">p2為:大家好,我是布小禪 p2的類型為:<class "str">p3為:["大家好,我是布小禪/n", "一個(gè)盡力讓無(wú)情的代碼變得生動(dòng)有趣的IT小白,很高興能偶認(rèn)識(shí)你/n", "關(guān)注我,每天堅(jiān)持學(xué)點(diǎn)東西,我們以后就是大佬啦!/n", "想進(jìn)群交流的,可以加我QQ哦,2228660752,群里面有好多學(xué)習(xí)資料~~/n", "爬蟲技術(shù)資深老手,web技術(shù)資深老手,數(shù)據(jù)分析技術(shù)資深老手,AI資深老手 ,自動(dòng)化技術(shù)資深老手,你想學(xué)的,我這里都有~~/n"] p3的類型為:<class "list">p4為:大家好,我是布小禪一個(gè)盡力讓無(wú)情的代碼變得生動(dòng)有趣的IT小白,很高興能偶認(rèn)識(shí)你關(guān)注我,每天堅(jiān)持學(xué)點(diǎn)東西,我們以后就是大佬啦!想進(jìn)群交流的,可以加我QQ哦,2228660752,群里面有好多學(xué)習(xí)資料~~爬蟲技術(shù)資深老手,web技術(shù)資深老手,數(shù)據(jù)分析技術(shù)資深老手,AI資深老手,自動(dòng)化技術(shù)資深老手,你想學(xué)的,我這里都有~~不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧!不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧 p4的類型為:<class "str">
每次都要手動(dòng)關(guān)閉這也太麻煩了吧~~有沒有方法讓他自動(dòng)關(guān)閉呢?——當(dāng)然是有的
這時(shí)候應(yīng)該大喊一聲:快去請(qǐng)with關(guān)鍵字!!
沒錯(cuò),就是他,with,他可以幫助我們?cè)诓僮魍晡募r(shí)自動(dòng)關(guān)閉文件。是不是長(zhǎng)舒了一口氣,不用再擔(dān)心自己因?yàn)轳R虎從而給帶來(lái)什么意想不到的錯(cuò)誤。
用法:
with open("test.txt", "r", encoding="utf-8") as a: XXXX """ 這里放操作文件的操作 """
把上面的代碼使用with優(yōu)化一下就是這樣:
with open("test.txt", "r", encoding="utf-8") as a: p1 = a.read()with open("test.txt", "r", encoding="utf-8") as a: p2 = a.readline()with open("test.txt", "r", encoding="utf-8") as a: p3 = a.readlines()with open("test.txt", "a+", encoding="utf-8") as a: a.write("不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧!不要再猶豫啦!你想變強(qiáng)嗎?快來(lái)吧")with open("test.txt", "r", encoding="utf-8") as a: p4 = a.read()print(f"p1為:{p1} /n p1的類型為:{type(p1)}")print(f"p2為:{p2} /n p2的類型為:{type(p2)}")print(f"p3為:{p3} /n p3的類型為:{type(p3)}")print(f"p4為:{p4} /n p4的類型為:{type(p4)}")
是不是感覺比上面的美觀了點(diǎn)呢
興趣是最好的老師,堅(jiān)持是不變的真理。
學(xué)習(xí)不要急躁,一步一個(gè)腳印,踏踏實(shí)實(shí)的往前走。
每天進(jìn)步一點(diǎn)點(diǎn),日積月累之下,你就會(huì)發(fā)現(xiàn)自己已經(jīng)變得很厲害了。
我是布小禪,一枚自學(xué)萌新,跟著我每天進(jìn)步一點(diǎn)點(diǎn)吧!
說(shuō)了這么多暫時(shí)也就夠了,那么就告辭吧
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/119412.html
摘要:一次為了蹭講座票的緣故集齊講座票是畢業(yè)要求之一去聽了一場(chǎng)機(jī)器學(xué)習(xí)匯報(bào)的講座,感覺預(yù)測(cè)模型很有意思,回來(lái)以后就趕緊在網(wǎng)上尋找相關(guān)的內(nèi)容,語(yǔ)言便進(jìn)入了我的視野。 ??六...
摘要:因此,本文將會(huì)以一些正經(jīng)的嚴(yán)謹(jǐn)?shù)挠猩疃鹊拇蟾虐傻恼n題,慢慢的接觸人工智能的相關(guān)知識(shí)。 Before The Beginning ????近年,技術(shù)圈炒的最火的兩個(gè)話(ba)題(gua)不外乎就是人工智障智能以及炒幣區(qū)塊鏈了,這個(gè)系列文章我主要以一個(gè)小菜鳥的角度一步一步的對(duì)人工智能的相關(guān)知識(shí)做一點(diǎn)了解,也算是一個(gè)顫顫巍巍追著AI浪潮公交車的社會(huì)主義五好青年,咳咳,扯遠(yuǎn)了...其實(shí)對(duì)于人工...
摘要:解決方案通過(guò)標(biāo)準(zhǔn)庫(kù)的模塊,可以快速完成此任務(wù)。測(cè)試結(jié)果計(jì)算日期之間的時(shí)段任務(wù)給定兩個(gè)日期,計(jì)算這兩個(gè)日期之間隔了幾天。此方法也有諸多限制,時(shí)間格式是固定的,計(jì)算量大時(shí)效率很低。 1.尋找上一個(gè)星期五 任務(wù):尋找上一個(gè)星期五的日期。 解決方案:通過(guò)python標(biāo)準(zhǔn)庫(kù)的datetime模塊,可以快速完成此任務(wù)。 import datetime, calendar def find_la...
摘要:計(jì)算文件的行數(shù)任務(wù)需要計(jì)算一個(gè)文件中有多少行。解決方案用方法再加循環(huán)計(jì)數(shù)進(jìn)行統(tǒng)計(jì),具體代碼如下測(cè)試用例定義一個(gè)函數(shù),向文件中寫入數(shù)字,每十個(gè)換一次行。 1.計(jì)算文件的行數(shù) 任務(wù):需要計(jì)算一個(gè)文件中有多少行。 解決方案:用enumerate()方法再加循環(huán)計(jì)數(shù)進(jìn)行統(tǒng)計(jì),具體代碼如下: def get_filelines(file_name): count = 0 f = ...
閱讀 3734·2021-09-07 09:59
閱讀 774·2019-08-29 15:12
閱讀 854·2019-08-29 11:14
閱讀 1360·2019-08-26 13:27
閱讀 2732·2019-08-26 10:38
閱讀 3195·2019-08-23 18:07
閱讀 1326·2019-08-23 14:40
閱讀 1973·2019-08-23 12:38