Python :open文件操作,配合read()使用!

open/文件操作

f=open('/tmp/hello','w')

#open(路徑+文件名,讀寫模式)

?如何打開文件

????? handle=open(file_name,access_mode="r")

  file_name 變量包含我們希望打開的文件的字符串名稱,access_mode 中的'r'表示讀取您市,‘w’表示寫入音半,'a'表示添加,其它可能用到的標(biāo)實還有‘+’表示讀寫江场,‘b’表示2進(jìn)制訪問,如果未提供access_mode,默認(rèn)為“r”.

如果open()成功窖逗,一個文件對象句柄會被返回址否。


filename=raw_input('enter?file')

fobj

=open(filename,'r')

for?eachline?infobj:

printeachline,

fobj.close()

#還記得?print?后面跟的“,”是什么意思吧碎紊,表示【每次打印都不換行佑附,而是間隔空格】

?file()內(nèi)建函數(shù)它的功能等于open(),但是可以看出,他是個文件工廠(生成文件對象)矮慕,類似于int()生成整型對象科吭,dict()生成字典對象仔沿,后面會學(xué)習(xí)


#讀寫模式:r只讀,r+讀寫,w新建(會覆蓋原有文件),a追加,b二進(jìn)制文件.常用模式

如:'rb','wb','r+b'等等

讀寫模式的類型有:

rU 或 Ua 以讀方式打開, 同時提供通用換行符支持 (PEP 278)

w?????以寫方式打開组力,

a?????以追加模式打開 (從 EOF 開始, 必要時創(chuàng)建新文件)

r+?????以讀寫模式打開

w+?????以讀寫模式打開 (參見 w )

a+?????以讀寫模式打開 (參見 a )

rb?????以二進(jìn)制讀模式打開

wb?????以二進(jìn)制寫模式打開 (參見 w )

ab?????以二進(jìn)制追加模式打開 (參見 a )

rb+????以二進(jìn)制讀寫模式打開 (參見 r+ )

wb+????以二進(jìn)制讀寫模式打開 (參見 w+ )

ab+????以二進(jìn)制讀寫模式打開 (參見 a+ )

注意:

1县貌、使用'W',文件若存在痪寻,首先要清空螺句,然后(重新)創(chuàng)建,

2橡类、使用'a'模式 蛇尚,把所有要寫入文件的數(shù)據(jù)都追加到文件的末尾,即使你使用了seek()指向文件的其他地方顾画,如果文件不存在取劫,將自動被創(chuàng)建。

f.read([size]) size未指定則返回整個文件,如果文件大小>2倍內(nèi)存則有問題.f.read()讀到文件尾時返回""(空字串)

file.readline() 返回一行

file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行

for line in f: print line #通過迭代器訪問

f.write("hello\n") #如果要寫入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串.

f.tell() 返回一個整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特數(shù)).

f.seek(偏移量,[起始位置])

用來移動文件指針

偏移量:單位:比特,可正可負(fù)

起始位置:0-文件頭,默認(rèn)值;1-當(dāng)前位置;2-文件尾

f.close() 關(guān)閉文件

Code:

#!/usr/bin/env python

# Filename: using_file.py

poem='''\Programming is funWhen the work is doneif you wanna make your work also fun: use Python!'''

f=file('poem.txt','w') # open for 'w'riting

f.write(poem) # write text to file

f.close() # close the file

f=file('poem.txt')

# if no mode is specified, 'r'ead mode is assumed by default

while True:

line=f.readline()

if len(line)==0: # Zero length indicates EOF

break

print line,

# Notice comma to avoid automatic newline added by Python

f.close()

# close the file

read()使用及用法

我們談到“文本處理”時研侣,我們通常是指處理的內(nèi)容谱邪。Python 將文本文件的內(nèi)容讀入可以操作的字符串變量非常容易。文件對象提供了三個“讀”方法: .read()庶诡、.readline() 和 .readlines()惦银。每種方法可以接受一個變量以限制每次讀取的數(shù)據(jù)量,但它們通常不使用變量。 .read() 每次讀取整個文件扯俱,它通常用于將文件內(nèi)容放到一個字符串變量中书蚪。然而 .read() 生成文件內(nèi)容最直接的字符串表示,但對于連續(xù)的面向行的處理迅栅,它卻是不必要的殊校,并且如果文件大于可用內(nèi)存,則不可能實現(xiàn)這種處理读存。

.readline() 和 .readlines() 非常相似箩艺。它們都在類似于以下的結(jié)構(gòu)中使用:

fh = open('c:\\autoexec.bat') for linein fh.readlines(): print line


.readline() 和 .readlines() 之間的差異是后者一次讀取整個文件,象 .read() 一樣宪萄。.readlines() 自動將文件內(nèi)容分析成一個行的列表,該列表可以由 Python 的 for ... in ... 結(jié)構(gòu)進(jìn)行處理榨惰。另一方面拜英,.readline() 每次只讀取一行,通常比 .readlines() 慢得多琅催。僅當(dāng)沒有足夠內(nèi)存可以一次讀取整個文件時居凶,才應(yīng)該使用 .readline()。


seek的使用方法

seek():移動文件讀取指針到指定位置

tell():返回文件讀取指針的位置

seek()的三種模式:

??? (1)f.seek(p,0)? 移動當(dāng)文件第p個字節(jié)處藤抡,絕對位置

????(2)f.seek(p,1)? 移動到相對于當(dāng)前位置之后的p個字節(jié)

??? (3)f.seek(p,2)? 移動到相對文章尾之后的p個字節(jié)


最后:

? close – 關(guān)閉文件侠碧。跟你編輯器的 文件 -> 保存.. 一個意思。

? read – 讀取文件內(nèi)容缠黍。你可以把結(jié)果賦給一個變量弄兜。

? readline – 讀取文本文件中的一行。

? truncate – 清空文件,請小心使用該命令瓷式。

? write(stuff) – 將 stuff 寫入文件替饿。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贸典,隨后出現(xiàn)的幾起案子视卢,更是在濱河造成了極大的恐慌,老刑警劉巖廊驼,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件据过,死亡現(xiàn)場離奇詭異,居然都是意外死亡妒挎,警方通過查閱死者的電腦和手機绳锅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饥漫,“玉大人榨呆,你說我怎么就攤上這事。” “怎么了积蜻?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵闯割,是天一觀的道長。 經(jīng)常有香客問我竿拆,道長宙拉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任丙笋,我火速辦了婚禮谢澈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘御板。我一直安慰自己锥忿,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布怠肋。 她就那樣靜靜地躺著敬鬓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笙各。 梳的紋絲不亂的頭發(fā)上钉答,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音杈抢,去河邊找鬼数尿。 笑死,一個胖子當(dāng)著我的面吹牛惶楼,可吹牛的內(nèi)容都是我干的右蹦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼歼捐,長吁一口氣:“原來是場噩夢啊……” “哼嫩实!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窥岩,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤甲献,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后颂翼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晃洒,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年朦乏,在試婚紗的時候發(fā)現(xiàn)自己被綠了球及。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡呻疹,死狀恐怖吃引,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤镊尺,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布朦佩,位于F島的核電站,受9級特大地震影響庐氮,放射性物質(zhì)發(fā)生泄漏语稠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一弄砍、第九天 我趴在偏房一處隱蔽的房頂上張望仙畦。 院中可真熱鬧,春花似錦音婶、人聲如沸慨畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽先口。三九已至,卻和暖如春瞳收,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厢汹。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工螟深, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烫葬。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓界弧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搭综。 傳聞我的和親對象是個殘疾皇子垢箕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1.能調(diào)用方法的一定是對象,比如數(shù)值、字符串兑巾、列表条获、元組、字典蒋歌,甚至文件也是對象帅掘,Python中一切皆為對象。 s...
    ph_郭先森閱讀 954評論 0 0
  • python中對文件吱窝、文件夾(文件操作函數(shù))的操作需要涉及到os模塊和shutil模塊。 得到當(dāng)前工作目錄,即當(dāng)前...
    隔壁小紅館閱讀 560評論 0 3
  • 得到當(dāng)前工作目錄院峡,即當(dāng)前Python腳本工作的目錄路徑:os.getcwd() 返回指定目錄下的所有文件和目錄名:...
    Envisage_802b閱讀 217評論 0 2
  • python之文件操作 一撕予、文件操作基本流程 計算機系統(tǒng)分為:計算機硬件鲫惶,操作系統(tǒng),應(yīng)用程序三部分实抡。 我們用pyt...
    go以恒閱讀 430評論 0 4
  • 文件操作: 打開文件:Python內(nèi)置了一個打開文件的函數(shù)欠母,open()函數(shù),用來打開一個文件吆寨,返回新打開文件的描...
    往日_07ae閱讀 523評論 0 0