国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

貴德網(wǎng)站建設(shè)公司專業(yè)網(wǎng)站優(yōu)化

貴德網(wǎng)站建設(shè)公司,專業(yè)網(wǎng)站優(yōu)化,優(yōu)購物官方網(wǎng)站化妝品,便宜網(wǎng)站建設(shè)一、文件永久存儲(chǔ) 如何將數(shù)據(jù)永久的存放在硬盤上,具體如下。 1.打開文件 定義:往大了講計(jì)算機(jī)系統(tǒng)中由操作系統(tǒng)管理的具有名稱的存儲(chǔ)區(qū)域,往小了講是生活中的PPT、Excel、word三劍客、視頻文件、音頻文件等。 創(chuàng)建打開文件: open…

一、文件永久存儲(chǔ)

如何將數(shù)據(jù)永久的存放在硬盤上,具體如下。
1.打開文件

定義:往大了講計(jì)算機(jī)系統(tǒng)中由操作系統(tǒng)管理的具有名稱的存儲(chǔ)區(qū)域,往小了講是生活中的PPT、Excel、word三劍客、視頻文件、音頻文件等。

創(chuàng)建打開文件: open()函數(shù)
字符串 含義
‘r’ 讀取(默認(rèn))
‘w’ 寫入(如果文件已存在則先截?cái)嗲蹇瘴募?#xff09;
‘x’ 排他性創(chuàng)建文件(如果文件已存在則打開失敗)
‘a(chǎn)’ 追加(如果文件已存在則在末尾追加內(nèi)容),注1
‘b’ 二進(jìn)制模式,注2
‘t’ 文本模式(默認(rèn)),注3
‘+’ 更新文件(讀取和寫入)

文件對(duì)象的各種方法及含義:
方法 含義

  • f.close() 關(guān)閉文件對(duì)象
  • f.flush() 將文件對(duì)象中的緩存數(shù)據(jù)寫入到文件中(不一定有效)
  • f.read(size=-1, /) 從文件對(duì)象中讀取指定數(shù)量的字符(或者遇到 EOF 停止);當(dāng)未指定該參數(shù),或該參數(shù)為負(fù)值的時(shí)候,讀取剩余的所有字符
  • f.readable() 判斷該文件對(duì)象是否支持讀取(如果返回的值為 False,則調(diào)用 read() 方法會(huì)導(dǎo)致 OSError 異常)
  • f.readline(size=-1, /) 從文件對(duì)象中讀取一行字符串(包括換行符),如果指定了 size 參數(shù),則表示讀取 size 個(gè)字符
  • f.readlines(size=-1, /) 從文件對(duì)象中讀取所有字符串(包括換行符),然后按行為單位存儲(chǔ)到列表中
    如果指定了 size 參數(shù),則表示讀取 size 個(gè)字符(如果 size 參數(shù)指定的字符個(gè)數(shù)少于第一行字符個(gè)數(shù),則仍然存放第一行字符,其他行也一樣,它是按 “行” 為單位存儲(chǔ)的)
  • f.seek(offset, whence=0, /) 修改文件指針的位置,從 whence 參數(shù)指定的位置(0 代表文件起始位置,1 代表當(dāng)前位置,2 代表文件末尾)偏移 offset 個(gè)字節(jié),返回值是新的索引位置
  • f.seekable() 判斷該文件對(duì)象是否支持修改文件指針的位置(如果返回的值為 False,則調(diào)用 seek(),tell(),truncate()方法都會(huì)導(dǎo)致 OSError 異常)
  • f.tell() 返回當(dāng)前文件指針在文件對(duì)象中的位置
  • f.truncate(pos=None, /) 將文件對(duì)象截取到 pos 的位置,默認(rèn)是截取到文件指針當(dāng)前指定的位置
  • f.write(text, /) 將字符串寫入到文件對(duì)象中,并返回寫入的字符數(shù)量(字符串的長(zhǎng)度)
  • f.writable() 判斷該文件對(duì)象是否支持寫入(如果返回的值為 False,則調(diào)用 write() 方法會(huì)導(dǎo)致 OSError 異常)
  • f.writelines(lines, /) 將一系列字符串寫入到文件對(duì)象中(不會(huì)自動(dòng)添加換行符,所以通常是人為地加在每個(gè)字符串的末尾)

例1:

>>> f=open("FishC.txt","w") #存在FishC文件則打開,不存在則創(chuàng)建文件。
>>> f.write("I love Python")
13
>>> f.writelines(["I love FishC.\n","I love my wife."])  # 文件寫內(nèi)容
>>> f.close() # 文件對(duì)象關(guān)閉了,數(shù)據(jù)才能寫入到文件中。執(zhí)行完f.close()后,打開文件,內(nèi)容才能寫入。
>>> 

例2:

>>> f=open("FishC.txt","r+")  # r+可以讀取和寫入。
>>> f.readable()  # 可以讀取
True
>>> f.writable()  # 可以寫入
True
>>> 
>>> for each in f:   # 將文件放到for語句進(jìn)行讀取print(each)I love PythonI love FishC.I love my wife.
# f.read()文件讀取,但沒有內(nèi)容。原因是文件內(nèi)部有個(gè)文件指針,它負(fù)責(zé)指向文件的當(dāng)前位置,當(dāng)在文件中讀取一個(gè)字符的時(shí)候,它這個(gè)文件指針就會(huì)指向下一個(gè)字符,直到文件結(jié)尾。
>>> f.read()  
''
>>> f.tell()  # 文件末尾的位置
43
>>> f.seek(0)  # 修改文件指針,輸入0時(shí),指向開頭。
0
>>> f.readline()  #讀取一行
'I love PythonI love FishC.\n'
>>> 
>>> f.read() # 讀取到文件的末尾
'I love my wife.'

例3:

>>> f.write("I love my WIFI")  
14
>>> f.flush() # 不關(guān)閉文件,將內(nèi)容寫到文件中。
>>> 
>>> f.truncate(29)  # 截?cái)嗖僮?#xff0c;讀取到29的位置
29
>>> f.close()
>>> 
>>> f=open("FishC.txt","w")  #打開文件什么都不做,再關(guān)閉,文件是空的。
>>> f.close()

課后題:
1. “在打開一個(gè)文件對(duì)象之后,大多數(shù)的文件操作都是在緩沖區(qū)里面進(jìn)行的。因此,如果希望將文件內(nèi)容保存,我們需要使用 close() 方法關(guān)閉文件對(duì)象,這樣數(shù)據(jù)才能從緩沖區(qū)寫入到文件中?!?#xff0c;那么請(qǐng)問大家,有沒有辦法在不關(guān)閉文件對(duì)象的情況下,進(jìn)行內(nèi)容的保存呢?
答:使用 flush() 方法。
2. 請(qǐng)問如果指定 readline(size=-1) 方法的 size 參數(shù)為 3,那么表示的含義是什么?
答:讀取 3 個(gè)字符。
解析:雖然是 readline() 方法,但如果執(zhí)行 size 參數(shù)的話,那么指定的還是讀取的字符個(gè)數(shù)(而非行數(shù))。
3. 請(qǐng)問下面代碼會(huì)在文件中寫入幾行字符串呢?

>>> f = open("FishC.txt", "w")
>>> f.writelines(["FishA", "FishB", "FishC"])
>>> f.close()

答:一行。
解析:writelines() 方法雖然名字叫 “寫入多行數(shù)據(jù)”,但其實(shí)它并不會(huì)自動(dòng)添加換行符,所以通常我們是需要人為地將換行符加在每個(gè)字符串的末尾。
4. 請(qǐng)問在課堂中的代碼,為什么我們寫入的時(shí)候只有一個(gè)換行符,但是使用 for 語句讀取并打印出來卻多了一個(gè)空白行呢?

>>> f = open("FishC.txt", "w")
>>> f.writelines(["I love FishC.\n", "I love my wife."])
>>> f.close()
>>> f = open("FishC.txt", "r")
>>> for each in f:
...     print(each)
...
I love FishC.I love my wife.

答:當(dāng) for 語句作用于文件對(duì)象時(shí),是按行進(jìn)行迭代的,也就是將文件中的每一行內(nèi)容讀取到 each 變量中,這樣理論上打印出來應(yīng)該是兩行,而非三行。
因?yàn)?print() 函數(shù)默認(rèn)是會(huì)在末尾添加一個(gè)換行符,如果將代碼改成下面這樣就不會(huì)了:

>>> for each in f:
...     print(each, end='')
...
I love FishC.
I love my wife.

5. 請(qǐng)問下面代碼為什么會(huì)報(bào)錯(cuò)?

>>> f = open("C:\Users\goodb\Desktop\FishC.txt", "w")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

答:因?yàn)槁窂街写嬖谵D(zhuǎn)義字符,導(dǎo)致文件路徑解析錯(cuò)誤。
應(yīng)該這么改:

>>> f = open(r"C:\Users\goodb\Desktop\FishC.txt", "w")

6. 使用 “w” 模式打開文件之前一定要注意什么?
答:一定要注意指定文件是否已存在。
解析:如果該文件已存在并且包含了內(nèi)容,那么使用 “w” 模式打開將直接抹去原有的內(nèi)容,導(dǎo)致原有數(shù)據(jù)丟失(是很可怕的事情)。
7. 如果一個(gè)文件不存在,是否可以使用 “a” 模式將其打開?
答:可以。
解析:
相對(duì)于 “w” 模式來說,“a” 模式會(huì)比較 “溫和”,指定文件如果存在的話,后者不會(huì)導(dǎo)致數(shù)據(jù)丟失,而是使用追加的方式將數(shù)據(jù)寫入文件。
不過注意,不存在說哪一個(gè)模式更優(yōu)秀的說法,因?yàn)閷⒁磺星闆r都考慮在內(nèi),是每一個(gè)優(yōu)秀程序員的職責(zé)所在。
8. 文件指針的作用是什么?
答:指示文件對(duì)象當(dāng)前讀取或者寫入的位置。
9. 什么是 EOF?
答:End Of the File,表示文件末尾的位置。
解析:如果在讀取模式中,當(dāng)文件指針指向 EOF 的時(shí)候,說明文件已經(jīng)全部讀取完畢。
10. 如何知道文件指針當(dāng)前指定的位置?
答:可以使用 tell() 方法來追蹤文件指針的位置。
f.tell() 返回當(dāng)前文件指針在文件對(duì)象中的位置

課后題來自小甲魚python永久存儲(chǔ)(上)

http://m.aloenet.com.cn/news/44982.html

相關(guān)文章:

  • 內(nèi)衣網(wǎng)站建設(shè)詳細(xì)方案seo官網(wǎng)優(yōu)化詳細(xì)方法
  • 大連網(wǎng)站建設(shè)酷網(wǎng)seo網(wǎng)站快速排名外包
  • 鎮(zhèn)江網(wǎng)站建設(shè)yubei021快速建站哪個(gè)平臺(tái)好
  • 國(guó)外做兼職的網(wǎng)站企業(yè)品牌網(wǎng)站營(yíng)銷
  • wordpress評(píng)論樓廣州百度seo排名
  • 如何給網(wǎng)站做宣傳aso優(yōu)化費(fèi)用
  • 永州做網(wǎng)站費(fèi)用做百度線上推廣
  • 莆田交友網(wǎng)站市場(chǎng)惠州網(wǎng)站建設(shè)方案推廣
  • 東莞專業(yè)網(wǎng)站建設(shè)推廣seo屬于什么
  • 如何簡(jiǎn)述網(wǎng)站建設(shè)流程seo是什么?
  • 網(wǎng)站整體運(yùn)營(yíng)思路競(jìng)價(jià)推廣托管服務(wù)
  • 車輛對(duì)比那個(gè)網(wǎng)站做的好免費(fèi)網(wǎng)絡(luò)推廣的方法
  • 昆明利于優(yōu)化的網(wǎng)站河南自助建站seo公司
  • 佛山營(yíng)銷網(wǎng)站建設(shè)seo快速工具
  • 長(zhǎng)春網(wǎng)站建設(shè)58同城想在百度做推廣怎么做
  • 國(guó)外做家譜的網(wǎng)站開發(fā)小程序
  • 網(wǎng)站建設(shè)要學(xué)會(huì)編程嗎網(wǎng)站的營(yíng)銷推廣方案
  • 國(guó)外網(wǎng)站設(shè)計(jì)網(wǎng)站昆明百度推廣開戶
  • wordpress 網(wǎng)頁目錄下湖南專業(yè)seo公司
  • 小貸網(wǎng)站需要多少錢可以做seo快速排名優(yōu)化方法
  • 做導(dǎo)航網(wǎng)站犯法嗎web網(wǎng)頁制作教程
  • 教師可以做網(wǎng)站嗎最近熱點(diǎn)新聞事件
  • 寧國(guó)做網(wǎng)站優(yōu)化營(yíng)商環(huán)境的措施建議
  • 網(wǎng)站的域名可以修改嗎做營(yíng)銷策劃的公司
  • 網(wǎng)站如何做口碑營(yíng)銷大數(shù)據(jù)
  • 專門做水果的網(wǎng)站重慶seo優(yōu)化效果好
  • wordpress底部插件超級(jí)seo助手
  • 可以免費(fèi)看日本黃片的app做網(wǎng)站上海單個(gè)關(guān)鍵詞優(yōu)化
  • 單頁面網(wǎng)站推廣重慶seo推廣運(yùn)營(yíng)
  • 優(yōu)化網(wǎng)站排名方法教程怎樣自己做網(wǎng)站