Python學(xué)習(xí)日志第七篇(933)

輸入和輸出

字符串插入

>>> x = 1/81
>>> print(x)
0.0123456789012
>>> print('value: %.2f % x)
value: 0.01
>>> print('value: %.5f % x)
value: 0.01234

字符串插入表達(dá)式總是采用這樣的格式:format % values,其中format 是包含一個(gè)或多個(gè)%字符的字符串秒拔。


轉(zhuǎn)換說明符

格式字符串

命名替換:

>>> 'My {pet} has {prob}'.format(pet = 'dog', prob = 'fleas')
'My dog has fleas'

還可以按位置替換值:

>>> 'My {0} has {1}'.format ('dog', 'fleas')
'My dog has fleas'

像字符串插入那樣使用轉(zhuǎn)換說明符:

>>> '1/81 = {x}'.format(x = 1/81)
'1/81 = 0.0123456790123'
>>> '1/81 = {x:.3f}'.format(x = 1/81)
'1/81 = 0.012'

使用大括號來指定格式設(shè)置參數(shù):

>>> 'num' = (x:.4eoeakmf}'.format(x = 1/81, d= 3)
'num = 0.012'

讀寫文件

檢查文件和文件夾
文件和文件夾函數(shù)
處理文本文件
逐行讀取文本文件
def print_file1(fname):
    f = open(fname, 'r')
    for line in f:
        print(line, end = ' ')
    f.close \# 這行代碼是可選的耿芹,python幾乎總是會自動(dòng)為你關(guān)閉文件
Python文件打開模式
將整個(gè)文本文件作為一個(gè)字符串進(jìn)行讀取
def print_file2(fname):
    f = open(fname, 'r')
    print(f.read())
    f.close()

這個(gè)方式很方便毕荐,但是對內(nèi)存占用較大,可能導(dǎo)致計(jì)算機(jī)崩潰申尤。

寫入文本文件
def make_story1():
    if os.path.isfile('story.txt'):
        print('story.txt already exists)
    else :
        f = open('story.txt', 'w')  \# 如果文件已存在,調(diào)用open('story.txt', 'w') 將刪除它
        f.write('Mary had a little lamb, \n')
        f.write('and then she had some more.\n')
附加到文本文件末尾
def add_to_story(line, fname = 'story.txt'):
    f = open(fname, 'a')
    f.write(line)
將字符串插入到文件開頭

操作系統(tǒng)Windows衙耕、Linux昧穿、Macintosh都沒有為這樣做提供直接支持。要將文本插入到文件開頭橙喘,需將文件讀取到一個(gè)字符串中时鸵,將新文本插入到該字符串,再將這個(gè)字符串寫入原來的文件:

def insert_title(title, fname = 'story.txt'):
    f = open(fname, 'r+')
    temp = f.read()
    temp = title + '\n\n' + temp
    f.seek(0)  \# 讓文件指針指向文件開頭
    f.write(temp)

我們將整個(gè)文件讀取到字符串變量temp中,并使用字符串拼接插入標(biāo)題饰潜。
通過調(diào)用f.seek(0)初坠,讓文件指針重新指向了文件開頭,這樣寫入f時(shí)彭雾,將從文件開頭開始碟刺。

處理二進(jìn)制文件

如果不是文本文件,它就被視為二進(jìn)制文件薯酝。二進(jìn)制文件以模式'b'打開半沽。

def is_git(fname):
    f = open(fname, 'br')
    first4 = tuple(f.read(4))
    return first4 == (0x47, 0x49, 0x46, 0x38)

這個(gè)函數(shù)檢查fname是不是GIF圖片文件,方法是檢查其前4個(gè)字節(jié)是不是 (0x47, 0x49, 0x46, 0x38)(所有GIF圖片文件都已這4個(gè)字節(jié)打頭)吴菠。

pickle

在處理二進(jìn)制文件方面者填,pickle通常是一種方便得多的方式。

import pickle
def make_pickled_file():
    grades = {'alan' : [4, 8, 10, 10],
                     'tom' : [7, 7, 7, 8]}
    outfile = open('grades.dat', 'wb')
    pickle.dump(grades, outfile)

def get_pickled_data():
    infile = open('grades.dat', 'rb')
    grades = pickle.load(infile)
    return grades

基本上做葵,你可使用pickle.dump將數(shù)據(jù)結(jié)構(gòu)存儲到磁盤占哟,以后再使用pickle.load從磁盤獲取數(shù)據(jù)結(jié)構(gòu)。

  • 出數(shù)據(jù)結(jié)構(gòu)外酿矢,還可使用pickle來存儲函數(shù)榨乎。
  • pickle 不能用于讀寫特殊格式的二進(jìn)制文件,如GIF文件棠涮。對于這樣的問價(jià)谬哀,必須逐字節(jié)處理。
  • Python包含一個(gè)名為shelve的模塊严肪,這個(gè)模塊提供了存儲和檢索數(shù)據(jù)的更高級方式近哟。
讀取網(wǎng)頁
>>> import urllib.request
>>> page = urllib.request.urlopen('http://www.python.org')
>>> html = resp.read()
>>> html[:25]
b'<!DOCTYPE html PUBLIC "-/'

html 包含www.python.org處網(wǎng)頁的全部文本钧排。與在Web瀏覽器中使用“查看源代碼”選項(xiàng)看到的結(jié)果一樣。將網(wǎng)頁作為字符串存儲到計(jì)算機(jī)后,便可使用Python字符串操作函數(shù)提取其中的信息蚂子。

在默認(rèn)Web瀏覽器中顯示雅虎的主頁

>>> import webbrowser
>>> webbrowser.open ('http://www.yahoo.com')
True
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绅这,一起剝皮案震驚了整個(gè)濱河市赔桌,隨后出現(xiàn)的幾起案子瓢剿,更是在濱河造成了極大的恐慌,老刑警劉巖帘睦,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袍患,死亡現(xiàn)場離奇詭異,居然都是意外死亡竣付,警方通過查閱死者的電腦和手機(jī)诡延,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來古胆,“玉大人肆良,你說我怎么就攤上這事筛璧。” “怎么了惹恃?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵夭谤,是天一觀的道長。 經(jīng)常有香客問我巫糙,道長朗儒,這世上最難降的妖魔是什么参淹? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮承二,結(jié)果婚禮上纲爸,老公的妹妹穿的比我還像新娘。我一直安慰自己识啦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布颓哮。 她就那樣靜靜地躺著,像睡著了一般冕茅。 火紅的嫁衣襯著肌膚如雪伤极。 梳的紋絲不亂的頭發(fā)上姨伤,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天哨坪,我揣著相機(jī)與錄音,去河邊找鬼乍楚。 笑死当编,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的徒溪。 我是一名探鬼主播忿偷,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼臊泌!你這毒婦竟也來了鲤桥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缺虐,失蹤者是張志新(化名)和其女友劉穎芜壁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慧妄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年顷牌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塞淹。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窟蓝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饱普,到底是詐尸還是另有隱情运挫,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布套耕,位于F島的核電站谁帕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏冯袍。R本人自食惡果不足惜匈挖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望康愤。 院中可真熱鬧儡循,春花似錦、人聲如沸征冷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽检激。三九已至肴捉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呵扛,已是汗流浹背每庆。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留今穿,地道東北人缤灵。 一個(gè)月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓腮出,卻偏偏與公主長得像芝薇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子馋劈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

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