摘要:前面的一些碎碎念兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點還是應(yīng)該放在實戰(zhàn)上。更簡潔的版本是如果文件很小,一次性讀取最方便如果不能確定文件大小,反復(fù)調(diào)用比較保險如果是配置文件,調(diào)用最方便。
前面的一些碎碎念
兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點還是應(yīng)該放在實戰(zhàn)上。
所以后續(xù)要速速的推倒這個教程了,用一些數(shù)據(jù)來實行一些分析:)
打打打打雞血?。?!
喝了一點點梅子酒,讓我的創(chuàng)造力更加豐豐豐豐富!
當(dāng)我想讀文件的時候,我可以做下面的動作。
偷偷的先open()個文件,記得傳入文件名和標(biāo)志符號
然后再小小的read()一下
最后記得close()
f = open("/Users/michael/test.txt", "r") f.read() f.close()
當(dāng)文件不存在的時候是會報錯的喔,所以我們可以用try...finally來實現(xiàn)準(zhǔn)確的關(guān)閉文件。
try: f = open("/path/to/file", "r") print(f.read()) finally: if f: f.close()
更簡潔的版本是
with open("/path/to/file", "r") as f: print(f.read())
如果文件很小,read()一次性讀取最方便;如果不能確定文件大小,反復(fù)調(diào)用read(size)比較保險;如果是配置文件,調(diào)用readlines()最方便。
當(dāng)讀入的文件為二進制文件或圖片等其他,用rb模式打開文件即可。
當(dāng)讀入的文件不是UTF-8編碼的時候,要傳入encoding參數(shù)。
當(dāng)我想寫文件的時候,我在open()的時候把標(biāo)志符改為w
f = open("/Users/michael/test.txt", "w") f.write("hello world") f.close()
可以傳入wb來寫二進制文件。
寫特定編碼的文件的時候,傳入encoding參數(shù)。
為了不然后面寫入的文件覆蓋前面的,用a(append)模式寫入即可,會追加到文件末尾。
StringIO顧名思義就是在內(nèi)存中讀寫str。
要把str寫入StringIO,首先要先創(chuàng)建一個StringIO,然后寫入~
用getvalue來獲取寫入后的str。
如果想讀取StringIO,也可以用str初始化一個StringIO,用readline()讀取。
這位朋友是用來操作二進制文件的,在內(nèi)存中讀寫bytes。
>>> from io import BytesIO >>> f = BytesIO() >>> f.write("中文".encode("utf-8")) 6 >>> print(f.getvalue()) b"xe4xb8xadxe6x96x87"
然后同StringIO一樣,也可以用一個bytes初始化BytesIO,然后像文件一樣讀取。
-----寫于2019-01-09
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42995.html
摘要:默認參數(shù)設(shè)置默認參數(shù)時,有幾點要注意一是必選參數(shù)在前,默認參數(shù)在后,否則的解釋器會報錯二是如何設(shè)置默認參數(shù)。注意此處,獲得的其實是的拷貝,函數(shù)內(nèi)對的改變不會影響到。使用遞歸函數(shù)需要注意防止棧溢出。 總是在最前面的叨逼叨 最近總是在想成長這兩個很常常被提起的事情,這對于一個已經(jīng)25歲的半中年而言,已經(jīng)是一個不太能高頻提起的詞。但是,最近一些事情吧,總讓我覺得我的生長期似乎比正常人來的晚了...
摘要:好久不見最近都在忙年底的年會,還沉迷于學(xué)習(xí)統(tǒng)計學(xué),教程還停留在基礎(chǔ)語法。做題做題無論如何,數(shù)據(jù)結(jié)構(gòu)還是很重要的,所以準(zhǔn)備每天刷的題目啦。第一題移除元素給定一個數(shù)組和一個值,你需要原地移除所有數(shù)值等于的元素,返回移除后數(shù)組的新長度。 好久不見 最近都在忙年底的年會,還沉迷于學(xué)習(xí)統(tǒng)計學(xué),python教程還停留在基礎(chǔ)語法。但是仔細規(guī)劃了下,還是要好好的瞄準(zhǔn)目標(biāo)前行。所以準(zhǔn)備呢,實戰(zhàn)走起來。 ...
摘要:屬性,可以函數(shù)的名字在代碼運行期間動態(tài)增加功能的方式,稱之為裝飾器。本質(zhì)上,就是一個返回函數(shù)的高階函數(shù)。比如,定義一個能打印日志的。接受函數(shù)作為參數(shù),要放置在函數(shù)定義處。一個完整的的代碼如下記錄的是傳入的的值,位置在嵌套內(nèi)或者帶參數(shù)的如下。 又是一段叨叨 如果總是擔(dān)心能不能做到的話,那就干脆不要做了。想做的事情還是一往無前的好,什么都不想,就努力沖沖沖吧! 裝飾器 因為函數(shù)是一個對象。...
摘要:直接抄其中一份的結(jié)論吧各地區(qū)招聘公司數(shù)量和平均待遇??梢钥闯霾徽撌钦衅腹镜臄?shù)據(jù)還是平均待遇水平主要都是北上廣深杭州占優(yōu)勢。但事實證明,總是要有一些代價的。要學(xué)會看報錯信息。函數(shù)定義結(jié)束后需要按兩次回車重新回到提示符下。 又是寫在前面的亂七八糟 持續(xù)學(xué)習(xí)的第三天了,持續(xù)學(xué)習(xí)是一個不容易培養(yǎng)的好習(xí)慣,但是堅持就是勝利嘛~昨天因為一點點事情,所以沒能學(xué)習(xí)很長時間,今天要補回來。周末要搬家,...
摘要:一點點小刀刀晚上收到了某招聘軟件的的消息,心里慌的不行。所以在上面的代碼中,我們可以考慮把改為來更好的看出繼承關(guān)系。定義方法,在被用于循環(huán)時返回迭代對象,循環(huán)會不斷的調(diào)用方法拿到下一個值,直到終止。 一點點小刀刀 晚上收到了某招聘軟件的HR的消息,心里慌的不行。因為很想換崗位了,可是當(dāng)機會來的時候,我卻只能表示能力不行。所以要速速的加油了?。?! 開始學(xué)習(xí)的分割 日常一點點小雞血!請不要...
閱讀 3021·2023-04-26 00:23
閱讀 3427·2021-09-13 10:28
閱讀 2218·2021-08-31 14:18
閱讀 2919·2019-08-30 15:54
閱讀 1973·2019-08-30 15:43
閱讀 1322·2019-08-29 16:56
閱讀 2833·2019-08-29 14:16
閱讀 2081·2019-08-28 17:51