機器學(xué)習(xí)之python學(xué)習(xí)(十九)

今天來學(xué)習(xí)python中的文件操作這是很關(guān)鍵的凭疮,
這次先學(xué)習(xí)文件的讀寫枫慷,需要注意的是文件的權(quán)限的問題。
總結(jié)如下最常用的權(quán)限:

權(quán)限 備注
r 打開只讀文件铡俐,該文件必須存在。
w 打開只寫文件,若文件存在則文件長度清為0辩涝, 即該文件內(nèi)容會消失神帅。若文件不存在則建立該文件。
r+ 打開可讀寫的文件备恤,該文件必須存在稿饰。
w+ 打開可讀寫文件,若文件存在則文件長度清為零露泊,即該文件內(nèi)容會消失喉镰。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件惭笑。若文件不存在侣姆,則會建立該文件,如果文件存在沉噩,寫入的數(shù)據(jù)會被加到文件尾捺宗,即文件原先的內(nèi)容會被保留。
a+ 以附加方式打開可讀寫的文件川蒙。 若文件不存在蚜厉,則會建立該文件,如果文件存在畜眨,寫入的數(shù)據(jù)會被加到文件尾后昼牛,即文件原先的內(nèi)容會被保留。

總結(jié)下來有+的均可以讀寫康聂。

只使用權(quán)限w寫入的時候每一行會產(chǎn)生空行贰健。

解決方法: 使用權(quán)限wb寫入的時候不會產(chǎn)生空行。

你們也可以參考廖雪峰大神的python教學(xué)快速入門恬汁。

代碼塊

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : filelearn.py
# 今天我們來學(xué)習(xí)一下python中文件的操作伶椿。
# 很多機器學(xué)習(xí)需要讀入csv文件
# 所以文件的操作是機器學(xué)習(xí)必須學(xué)會的一個技能
# (1)文件的打開和關(guān)閉[不標(biāo)準(zhǔn)的寫法]
f=open('hello.txt','r')
print f.read()
f.close()
# 文件的操作的最后一步必須是關(guān)閉文件。
# 因為read()函數(shù)是一次性輸出文件的所有數(shù)據(jù)
# 所以輸出結(jié)果為:
# hello wolrd
# 你好啊
# (2)文件打開過程中會有錯誤氓侧,所以可以使用try-finally來處理錯誤
# 文件的打開與關(guān)閉的標(biāo)準(zhǔn)寫法脊另。
try:
    f = open('hello.txt', 'r')
    print f.read()
finally:
    if f:#如果f存在則關(guān)閉
        f.close()
# (3)文件的打開和關(guān)閉每次都這么寫實在太繁瑣,
# 所以甘苍,Python引入了with語句來自動幫我們調(diào)用close()方法:
with open('hello.txt', 'r') as f:
    print f.read()
# 注:第三種是最常用的一種方法尝蠕,必須要掌握的方法。
# (4)如果打開的文件不存在則會報錯:
# with open('hello1.txt', 'r') as f:
#     print f.read()
# 報錯的內(nèi)容為:IOError: [Errno 2] No such file or directory: 'hello1.txt'
# 報錯會提示你打開的文件不存在载庭。
# (5)讀取文件的方法的比較看彼。
# 調(diào)用read()會一次性讀取文件的全部內(nèi)容,
# 如果文件有10G囚聚,內(nèi)存就爆了靖榕,所以,
# 要保險起見顽铸,可以反復(fù)調(diào)用read(size)方法茁计,
# 每次最多讀取size個字節(jié)的內(nèi)容。
# 另外谓松,調(diào)用readline()可以每次讀取一行內(nèi)容星压,
# 調(diào)用readlines()一次讀取所有內(nèi)容并按行返回list践剂。
# 因此,要根據(jù)需要決定怎么調(diào)用娜膘。
# 如果文件很小逊脯,read()一次性讀取最方便;
# 如果不能確定文件大小竣贪,反復(fù)調(diào)用read(size)比較保險军洼;
# 如果是配置文件,調(diào)用readlines()最方便:

# 例如:
with open('hello.txt', 'r') as f:
    print f.read(2)
# 輸出的結(jié)果為:he
# 注:英文字母一個占一個字節(jié)演怎,中文一個占兩個字節(jié)匕争。


# 讀取文件最最常用的一種方法。
with open('hello.txt', 'r') as f:
   for line in f.readlines():#每次讀取一行
       print(line.strip()) # 把每一個行的末尾的'\n'刪掉
# 輸出的結(jié)果:
# hello wolrd
# 你好啊
# (8)文件的寫操作爷耀。
# fp.write(str) #把str寫到文件中甘桑,
# write()并不會在str后加上一個換行符
# fp.writelines(seq) #把seq的內(nèi)容全部寫到文件中
# (多行一次性寫入)這個函數(shù)也只是忠實地寫入,不會在每行后面加上任何東西畏纲。

with open('hello1.txt', 'w') as f:
    f.write("this is  new content")
    # 寫入之后重新查看文檔內(nèi)容
with open('hello1.txt', 'r') as f:
    for line in f.readlines():  # 每次讀取一行
        print(line.strip())  # 把每一個行的末尾的'\n'刪掉
# 輸出的結(jié)果為:this is  new content
# 說明原來的內(nèi)容已經(jīng)被覆蓋掉了扇住,這與文章的權(quán)限有關(guān)。
#文章的權(quán)限總結(jié)如下:
# (1)r 打開只讀文件盗胀,該文件必須存在。
# (2)r+ 打開可讀寫的文件锄贼,該文件必須存在票灰。
# (3)w 打開只寫文件,若文件存在則文件長度清為0宅荤,
# 即該文件內(nèi)容會消失屑迂。若文件不存在則建立該文件。
# (4)w+ 打開可讀寫文件冯键,若文件存在則文件長度清為零惹盼,
# 即該文件內(nèi)容會消失。若文件不存在則建立該文件惫确。
# (5)a 以附加的方式打開只寫文件手报。若文件不存在,
# 則會建立該文件改化,如果文件存在掩蛤,寫入的數(shù)據(jù)會被加到文件尾,
# 即文件原先的內(nèi)容會被保留陈肛。
# (6) a+ 以附加方式打開可讀寫的文件揍鸟。
# 若文件不存在,則會建立該文件句旱,
# 如果文件存在阳藻,寫入的數(shù)據(jù)會被加到文件尾后晰奖,
# 即文件原先的內(nèi)容會被保留。




加油一起學(xué)習(xí)腥泥,更新完畢

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匾南,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子道川,更是在濱河造成了極大的恐慌午衰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冒萄,死亡現(xiàn)場離奇詭異臊岸,居然都是意外死亡,警方通過查閱死者的電腦和手機尊流,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門帅戒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人崖技,你說我怎么就攤上這事逻住。” “怎么了迎献?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵瞎访,是天一觀的道長。 經(jīng)常有香客問我吁恍,道長扒秸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任冀瓦,我火速辦了婚禮伴奥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘翼闽。我一直安慰自己拾徙,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布感局。 她就那樣靜靜地躺著尼啡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蓝厌。 梳的紋絲不亂的頭發(fā)上玄叠,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音拓提,去河邊找鬼读恃。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寺惫。 我是一名探鬼主播疹吃,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼西雀!你這毒婦竟也來了萨驶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤艇肴,失蹤者是張志新(化名)和其女友劉穎腔呜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體再悼,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡核畴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冲九。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谤草。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖莺奸,靈堂內(nèi)的尸體忽然破棺而出丑孩,到底是詐尸還是另有隱情,我是刑警寧澤灭贷,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布温学,位于F島的核電站,受9級特大地震影響甚疟,放射性物質(zhì)發(fā)生泄漏枫浙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一古拴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧真友,春花似錦黄痪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愈案,卻和暖如春挺尾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背站绪。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工遭铺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓魂挂,卻偏偏與公主長得像甫题,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涂召,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355