中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

網(wǎng)站建設(shè)基礎(chǔ)策劃書做游戲推廣怎么找客戶

網(wǎng)站建設(shè)基礎(chǔ)策劃書,做游戲推廣怎么找客戶,全國(guó)優(yōu)秀施工企業(yè)查詢,雙語網(wǎng)站后臺(tái)怎么做在 Python 中,如果想要操作文件,首先需要?jiǎng)?chuàng)建或者打開指定的文件,并創(chuàng)建一個(gè)文件對(duì)象,而這些工作可以通過內(nèi)置的 open() 函數(shù)實(shí)現(xiàn)。open() 函數(shù)用于創(chuàng)建或打開指定文件,該函數(shù)的常用語法格式如下:file ope…

在 Python 中,如果想要操作文件,首先需要?jiǎng)?chuàng)建或者打開指定的文件,并創(chuàng)建一個(gè)文件對(duì)象,而這些工作可以通過內(nèi)置的 open() 函數(shù)實(shí)現(xiàn)。

open() 函數(shù)用于創(chuàng)建或打開指定文件,該函數(shù)的常用語法格式如下:

file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])

此格式中,用 [] 括起來的部分為可選參數(shù),即可以使用也可以省略。其中,各個(gè)參數(shù)所代表的含義如下:

  • file:表示要?jiǎng)?chuàng)建的文件對(duì)象。

  • file_name:要?jiǎng)?chuàng)建或打開文件的文件名稱,該名稱要用引號(hào)(單引號(hào)或雙引號(hào)都可以)括起來。需要注意的是,如果要打開的文件和當(dāng)前執(zhí)行的代碼文件位于同一目錄,則直接寫文件名即可;否則,此參數(shù)需要指定打開文件所在的完整路徑。

  • mode:可選參數(shù),用于指定文件的打開模式??蛇x的打開模式如表 1 所示。如果不寫,則默認(rèn)以只讀(r)模式打開文件。

  • buffering:可選參數(shù),用于指定對(duì)文件做讀寫操作時(shí),是否使用緩沖區(qū)(本節(jié)后續(xù)會(huì)詳細(xì)介紹)。

  • encoding:手動(dòng)設(shè)定打開文件時(shí)所使用的編碼格式,不同平臺(tái)的 ecoding 參數(shù)值也不同,以 Windows 為例,其默認(rèn)為 cp936(實(shí)際上就是 GBK 編碼)。

open() 函數(shù)支持的文件打開模式如表 1 所示。

表 1 open 函數(shù)支持的文件打開模式

模式

意義

注意事項(xiàng)

r

只讀模式打開文件,讀文件內(nèi)容的指針會(huì)放在文件的開頭。

操作的文件必須存在。

rb

以二進(jìn)制格式、采用只讀模式打開文件,讀文件內(nèi)容的指針位于文件的開頭,一般用于非文本文件,如圖片文件、音頻文件等。

r+

打開文件后,既可以從頭讀取文件內(nèi)容,也可以從開頭向文件中寫入新的內(nèi)容,寫入的新內(nèi)容會(huì)覆蓋文件中等長(zhǎng)度的原有內(nèi)容。

rb+

以二進(jìn)制格式、采用讀寫模式打開文件,讀寫文件的指針會(huì)放在文件的開頭,通常針對(duì)非文本文件(如音頻文件)。

w

以只寫模式打開文件,若該文件存在,打開時(shí)會(huì)清空文件中原有的內(nèi)容。

若文件存在,會(huì)清空其原有內(nèi)容(覆蓋文件);反之,則創(chuàng)建新文件。

wb

以二進(jìn)制格式、只寫模式打開文件,一般用于非文本文件(如音頻文件)

w+

打開文件后,會(huì)對(duì)原有內(nèi)容進(jìn)行清空,并對(duì)該文件有讀寫權(quán)限。

wb+

以二進(jìn)制格式、讀寫模式打開文件,一般用于非文本文件

a

以追加模式打開一個(gè)文件,對(duì)文件只有寫入權(quán)限,如果文件已經(jīng)存在,文件指針將放在文件的末尾(即新寫入內(nèi)容會(huì)位于已有內(nèi)容之后);反之,則會(huì)創(chuàng)建新文件。

ab

以二進(jìn)制格式打開文件,并采用追加模式,對(duì)文件只有寫權(quán)限。如果該文件已存在,文件指針位于文件末尾(新寫入文件會(huì)位于已有內(nèi)容之后);反之,則創(chuàng)建新文件。

a+

以讀寫模式打開文件;如果文件存在,文件指針放在文件的末尾(新寫入文件會(huì)位于已有內(nèi)容之后);反之,則創(chuàng)建新文件。

ab+

以二進(jìn)制模式打開文件,并采用追加模式,對(duì)文件具有讀寫權(quán)限,如果文件存在,則文件指針位于文件的末尾(新寫入文件會(huì)位于已有內(nèi)容之后);反之,則創(chuàng)建新文件。

文件打開模式,直接決定了后續(xù)可以對(duì)文件做哪些操作。例如,使用 r 模式打開的文件,后續(xù)編寫的代碼只能讀取文件,而無法修改文件內(nèi)容。

圖 2 中,將以上幾個(gè)容易混淆的文件打開模式的功能做了很好的對(duì)比:

圖 2 不同文件打開模式的功能

【例 1】默認(rèn)打開 "a.txt" 文件。

#當(dāng)前程序文件同目錄下沒有 a.txt 文件
file =open("a.txt")
print(file)

當(dāng)以默認(rèn)模式打開文件時(shí),默認(rèn)使用 r 權(quán)限,由于該權(quán)限要求打開的文件必須存在,因此運(yùn)行此代碼會(huì)報(bào)如下錯(cuò)誤:

Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 1, in <module>
file = open("a.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'a.txt'

現(xiàn)在,在程序文件同目錄下,手動(dòng)創(chuàng)建一個(gè) a.txt 文件,并再次運(yùn)行該程序,其運(yùn)行結(jié)果為:

<_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'>

可以看到,當(dāng)前輸出結(jié)果中,輸出了 file 文件對(duì)象的相關(guān)信息,包括打開文件的名稱、打開模式、打開文件時(shí)所使用的編碼格式。

使用 open() 打開文件時(shí),默認(rèn)采用 GBK 編碼。但當(dāng)要打開的文件不是 GBK 編碼格式時(shí),可以在使用 open() 函數(shù)時(shí),手動(dòng)指定打開文件的編碼格式,例如:

file = open("a.txt",encoding="utf-8")

注意,手動(dòng)修改 encoding 參數(shù)的值,僅限于文件以文本的形式打開,也就是說,以二進(jìn)制格式打開時(shí),不能對(duì) encoding 參數(shù)的值做任何修改,否則程序會(huì)拋出 ValueError 異常,如下所示:

ValueError: binary mode doesn't take an encoding argument

open()是否需要緩沖區(qū)

通常情況下、建議大家在使用 open() 函數(shù)時(shí)打開緩沖區(qū),即不需要修改 buffing 參數(shù)的值。

如果 buffing 參數(shù)的值為 0(或者 False),則表示在打開指定文件時(shí)不使用緩沖區(qū);如果 buffing 參數(shù)值為大于 1 的整數(shù),該整數(shù)用于指定緩沖區(qū)的大小(單位是字節(jié));如果 buffing 參數(shù)的值為負(fù)數(shù),則代表使用默認(rèn)的緩沖區(qū)大小。

為什么呢?原因很簡(jiǎn)單,目前為止計(jì)算機(jī)內(nèi)存的 I/O 速度仍遠(yuǎn)遠(yuǎn)高于計(jì)算機(jī)外設(shè)(例如鍵盤、鼠標(biāo)、硬盤等)的 I/O 速度,如果不使用緩沖區(qū),則程序在執(zhí)行 I/O 操作時(shí),內(nèi)存和外設(shè)就必須進(jìn)行同步讀寫操作,也就是說,內(nèi)存必須等待外設(shè)輸入(輸出)一個(gè)字節(jié)之后,才能再次輸出(輸入)一個(gè)字節(jié)。這意味著,內(nèi)存中的程序大部分時(shí)間都處于等待狀態(tài)。

而如果使用緩沖區(qū),則程序在執(zhí)行輸出操作時(shí),會(huì)先將所有數(shù)據(jù)都輸出到緩沖區(qū)中,然后繼續(xù)執(zhí)行其它操作,緩沖區(qū)中的數(shù)據(jù)會(huì)有外設(shè)自行讀取處理;同樣,當(dāng)程序執(zhí)行輸入操作時(shí),會(huì)先等外設(shè)將數(shù)據(jù)讀入緩沖區(qū)中,無需同外設(shè)做同步讀寫操作。

open()文件對(duì)象常用的屬性

成功打開文件之后,可以調(diào)用文件對(duì)象本身擁有的屬性獲取當(dāng)前文件的部分信息,其常見的屬性為:

  • file.name:返回文件的名稱;

  • file.mode:返回打開文件時(shí),采用的文件打開模式;

  • file.encoding:返回打開文件時(shí)使用的編碼格式;

  • file.closed:判斷文件是否己經(jīng)關(guān)閉。

舉個(gè)例子:

# 以默認(rèn)方式打開文件
f =open('my_file.txt')# 輸出文件是否已經(jīng)關(guān)閉
print(f.closed)# 輸出訪問模式
print(f.mode)#輸出編碼格式
print(f.encoding)# 輸出文件名
print(f.name)

程序執(zhí)行結(jié)果為:

False
r
cp936
my_file.txt
注意,使用 open() 函數(shù)打開的文件對(duì)象,必須手動(dòng)進(jìn)行關(guān)閉(后續(xù)章節(jié)會(huì)詳細(xì)講解),Python 垃圾回收機(jī)制無法自動(dòng)回收打開文件所占用的資源。
http://www.risenshineclean.com/news/3553.html

相關(guān)文章:

  • 深圳康福特戶外家具營(yíng)銷型網(wǎng)站seo教程免費(fèi)
  • 想做一個(gè)駕校的招生網(wǎng)站應(yīng)該怎么做seo實(shí)戰(zhàn)教程
  • 網(wǎng)站后臺(tái)密碼錯(cuò)誤今天重要新聞
  • 廣西網(wǎng)站seo工具下載
  • 加國(guó)無憂51工作網(wǎng)seo顧問是干什么
  • 醫(yī)療網(wǎng)站建設(shè)焦作網(wǎng)絡(luò)推廣哪家好
  • app開發(fā)長(zhǎng)沙seo營(yíng)銷外包
  • 荊軻網(wǎng)絡(luò)做網(wǎng)站瀏覽器搜索引擎大全
  • 徐州銅山區(qū)seo模擬點(diǎn)擊軟件
  • 深圳服裝外貿(mào)公司廣州網(wǎng)站優(yōu)化關(guān)鍵詞排名
  • 如何引用404做網(wǎng)站谷歌廣告聯(lián)盟一個(gè)月能賺多少
  • 微信公眾號(hào) 做不了微網(wǎng)站嗎seo任務(wù)
  • jsp ajax網(wǎng)站開發(fā)典型實(shí)例電商seo引流
  • 商務(wù)網(wǎng)站開發(fā)步驟搜索引擎有哪些平臺(tái)
  • 武漢網(wǎng)站建設(shè)公司哪家專業(yè)重慶網(wǎng)站優(yōu)化軟件
  • 外包軟件開發(fā)一鍵優(yōu)化軟件
  • 我的網(wǎng)站dede網(wǎng)絡(luò)推廣要求
  • 溫州網(wǎng)站建設(shè)制作公司磁力島引擎
  • 質(zhì)量好網(wǎng)站建設(shè)商家seo怎么做推廣
  • 海晏網(wǎng)站制作外鏈?zhǔn)珍浘W(wǎng)站
  • 上海專業(yè)網(wǎng)站建設(shè)公百度一下你就知道百度一下
  • 門戶網(wǎng)站開發(fā) 項(xiàng)目實(shí)施方案全網(wǎng)推廣平臺(tái)有哪些
  • 不懂網(wǎng)站怎么做平臺(tái)項(xiàng)鏈seo關(guān)鍵詞
  • PHP 網(wǎng)站開發(fā) 重點(diǎn)知識(shí)鏈接生成二維碼
  • 怎樣做自己的公司網(wǎng)站百度在線
  • 做網(wǎng)站用c語言可以嗎軟文推廣發(fā)布
  • 家居類企業(yè)響應(yīng)式網(wǎng)站軟文廣告經(jīng)典案例200字
  • 素材網(wǎng)站pinterest搜索引擎優(yōu)化方案案例
  • 攝影網(wǎng)站app云南seo簡(jiǎn)單整站優(yōu)化
  • 廣東東莞招工信息最新招聘蝸牛精靈seo