詳解python中的IO操作方法
python文件I/O
打印到屏幕:
最簡(jiǎn)單的輸出方法是用print語(yǔ)句,你可以給它傳遞零個(gè)或多個(gè)用逗號(hào)隔開的表達(dá)式。
讀取鍵盤輸入:
Python提供了兩個(gè)內(nèi)置函數(shù)從標(biāo)準(zhǔn)輸入讀入一行文本,默認(rèn)的標(biāo)準(zhǔn)輸入是鍵盤。如下:
- raw_input
- input
raw_input函數(shù)
raw_input([prompt]) 函數(shù)從標(biāo)準(zhǔn)輸入讀取一個(gè)行,并返回一個(gè)字符串(去掉結(jié)尾的換行符):
str = raw_input("請(qǐng)輸入:") print( "你輸入的內(nèi)容是: ", str) >>> 請(qǐng)輸入:(這里輸入你要輸入的內(nèi)容) (這里打印出來(lái)的是你上面輸出的內(nèi)容)
input函數(shù)
input([prompt]) 函數(shù)和 raw_input([prompt]) 函數(shù)基本類似,但是 input 可以接收一個(gè)Python表達(dá)式作為輸入。
打開和關(guān)閉文件
你必須先用Python內(nèi)置的open()函數(shù)打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫.
open 函數(shù)
你必須先用Python內(nèi)置的open()函數(shù)打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫
file object = open(file_name [, access_mode][, buffering])
- file_name:file_name變量是一個(gè)包含了你要訪問(wèn)的文件名稱的字符串值。
- access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問(wèn)模式為只讀®。
- buffering:如果buffering的值被設(shè)為0,就不會(huì)有寄存。如果buffering的值取1,訪問(wèn)文件時(shí)會(huì)寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
下面是不同模式打開文件的完全列表:
file對(duì)象的屬性
一個(gè)文件被打開后,你有一個(gè)file對(duì)象,你可以得到有關(guān)該文件的各種信息。
以下是和file對(duì)象相關(guān)的所有屬性的列表:
實(shí)例如下:
fo = open("xiaochan.txt", "w") print ("文件名: ", fo.name) print ("是否已關(guān)閉 : ", fo.closed) print ("訪問(wèn)模式 : ", fo.mode) print ("末尾是否強(qiáng)制加空格 : ", fo.softspace) 輸出: 文件名: xiaochan.txt 是否已關(guān)閉 : False 訪問(wèn)模式 : w 末尾是否強(qiáng)制加空格 : 0
close()方法
File 對(duì)象的 close()方法刷新緩沖區(qū)里任何還沒(méi)寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入。 當(dāng)一個(gè)文件對(duì)象的引用被重新指定給另一個(gè)文件時(shí),Python 會(huì)關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個(gè)很好的習(xí)慣。
# 打開一個(gè)文件 fo = open("xiaochan.txt", "w") print( "文件名: ", fo.name) # 關(guān)閉打開的文件 fo.close()
file對(duì)象提供了一系列方法,能讓我們的文件訪問(wèn)更輕松,使用read()和write()方法來(lái)讀取和寫入文件。
write()方法
write()方法可將任何字符串寫入一個(gè)打開的文件。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。write()方法不會(huì)在字符串的結(jié)尾添加換行符(’\n’),w表示打開一個(gè)文件只用于寫入,實(shí)例如下:
# 打開一個(gè)文件 fo = open("xo.txt", "w") fo.write( "www.soyboke.com\nVery good blog!\n") # 關(guān)閉打開的文件 fo.close() 輸出: www.runoob.com! Very good site!
read()方法
read()方法從一個(gè)打開的文件中讀取一個(gè)字符串。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字,實(shí)例如下(用到了上面的xo.txt文件): 語(yǔ)法如下:
fileObject.read([count])
在這里,被傳遞的參數(shù)是要從已打開文件中讀取的字節(jié)計(jì)數(shù)。該方法從文件的開頭開始讀入,如果沒(méi)有傳入count,它會(huì)嘗試盡可能多地讀取更多的內(nèi)容,很可能是直到文件的末尾。
# 打開一個(gè)文件
fo = open("xiaochan.txt", "r+")
str = fo.read(10)
print ("讀取的字符串是 : ", str)
# 關(guān)閉打開的文件
fo.close()
輸出:
www.soybok
Python with open as函數(shù)
可以反復(fù)調(diào)用write()來(lái)寫入文件,但是務(wù)必要調(diào)用f.close()來(lái)關(guān)閉文件。 當(dāng)我們寫文件時(shí),操作系統(tǒng)往往不會(huì)立刻把數(shù)據(jù)寫入磁盤,而是放到內(nèi)存緩存起來(lái),空閑的時(shí)候再慢慢寫入。 只有調(diào)用close()方法時(shí),操作系統(tǒng)才保證把沒(méi)有寫入的數(shù)據(jù)全部寫入磁盤。 忘記調(diào)用close()的后果是數(shù)據(jù)可能只寫了一部分到磁盤,剩下的丟失了。 所以,還是用with語(yǔ)句來(lái)得保險(xiǎn):
**with open as讀取一個(gè)文件,格式如下:
with open('a.txt', 'w') as f: f.write('1234567890\n')
到此這篇關(guān)于詳解python中的IO操作方法的文章就介紹到這了,更多相關(guān)python IO操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django將圖片保存到mysql數(shù)據(jù)庫(kù)并展示在前端頁(yè)面的實(shí)現(xiàn)
這篇文章主要介紹了django將圖片保存到mysql數(shù)據(jù)庫(kù)并展示在前端頁(yè)面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Python使用MapReduce編程模型統(tǒng)計(jì)銷量
MapReduce是面向大數(shù)據(jù)并行處理的計(jì)算模型、框架和平臺(tái),是一種計(jì)算引擎,可以把我們對(duì)大批量數(shù)據(jù)的計(jì)算通過(guò)抽象成map與reduce兩個(gè)子任務(wù)進(jìn)行計(jì)算從而更快的得到想要的結(jié)果2022-04-04Python編程使用有限狀態(tài)機(jī)識(shí)別地址有效性
這篇文章主要介紹了Python編程中如何使用有限狀態(tài)機(jī)識(shí)別地址有效性,如何識(shí)別一個(gè)地址是否有效,確切的講,如何編程識(shí)別一個(gè)中國(guó)地址是否有效2021-09-09Python?Type?Hints?學(xué)習(xí)之從入門到實(shí)踐
Type?Hints(類型注解)進(jìn)一步強(qiáng)化了Python是一門強(qiáng)類型語(yǔ)言的特性,它在?Python3.5?中第一次被引入。使用Type?Hints可以讓我們編寫出帶有類型的Python代碼,本文將詳細(xì)介紹一下Type?Hints,感興趣的小伙伴可以關(guān)注一下2021-11-11推薦系統(tǒng)MostPopular算法的Python實(shí)現(xiàn)方式
這篇文章主要介紹了推薦系統(tǒng)MostPopular算法的Python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07python3中http協(xié)議提供文件服務(wù)器功能詳解
http協(xié)議是互聯(lián)網(wǎng)的通用基礎(chǔ)協(xié)議,也可以利用其來(lái)開發(fā)文件服務(wù)器,給客戶提供文件瀏覽,查看,下載,上傳等功能,這篇文章主要介紹了python3中http協(xié)議提供文件服務(wù)器功能,需要的朋友可以參考下2023-06-06