久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python處理文件的幾個(gè)常用小知識(shí)

        Python處理文件的幾個(gè)常用小知識(shí)

        來(lái)源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-11-07 03:54:20 1699300460

        python這門語(yǔ)言有個(gè)很大的用途就是使用它來(lái)進(jìn)行文件處理,學(xué)會(huì)處理文件和保存數(shù)據(jù)可以讓你的程序使用起來(lái)更加容易和方便,因此小編為大家準(zhǔn)備了幾個(gè)處理文件常用的幾個(gè)小知識(shí),快來(lái)一起學(xué)習(xí)吧!

        1、讀取文件數(shù)據(jù)

        文本文件可存儲(chǔ)的數(shù)據(jù)量非常豐富,像天氣數(shù)據(jù)、交通數(shù)據(jù)、文學(xué)作品等。每當(dāng)我們需要分析或修改儲(chǔ)存在文件中的信息時(shí),讀取文件就顯得尤為重要。想讀取一個(gè)文件的信息,我們可以一次性讀取全部?jī)?nèi)容,也可以每次一行逐步讀取。

        讀取整個(gè)文件

        我們先來(lái)創(chuàng)建一個(gè)包含幾行文本的文件,在編輯器中輸入以下數(shù)據(jù)行,保存為txt格式:

        pi.txt:

        3.1415926535

        8979323846

        2643383279

        打開(kāi)并讀取該文件:

        withopen('pi.txt')asfile:

        contents=file.read()

        print(contents)

        在這行程序中,出現(xiàn)了兩個(gè)函數(shù)open()和read()。

        函數(shù)open()用于打開(kāi)一個(gè)文件,它接受的參數(shù)是要打開(kāi)文件的名稱,Python會(huì)在當(dāng)前執(zhí)行的文件目錄中查找指定的文件,然后返回一個(gè)表示文件的對(duì)象。

        方法read()用于讀取這個(gè)文件的全部?jī)?nèi)容,并將其作為一個(gè)長(zhǎng)長(zhǎng)的字符串儲(chǔ)存在變量contents中。但這段程序的運(yùn)行結(jié)果大家可以嘗試一下,它會(huì)把這個(gè)文本的內(nèi)容全部輸出并在最后多出一行空行,這是因?yàn)閞ead()到達(dá)文件末尾時(shí)會(huì)返回一個(gè)空字符串,顯示在結(jié)果就是一個(gè)空行。如果想要?jiǎng)h除末尾的空行,可以在print中使用rstrip():

        print(contents.rstrip())

        關(guān)于文件路徑,我們需要注意的是,Linux系統(tǒng)和windows有一點(diǎn)不同:

        在Linux和OSX中(使用斜杠/):

        withopen('files/filename.txt')asfile_object:

        在Windows中(使用反斜杠\):

        withopen('files\filename.txt')asfile_object:

        逐行讀取

        如果想每次一行的讀取文件,可對(duì)文件對(duì)象使用for循環(huán):

        filename='pi.txt'

        withopen(filename)asfile:

        forlineinfile:

        print(line)

        同樣,為了刪除每一行多余出來(lái)的空行,我們可以使用rstrip():

        filename='pi.txt'

        withopen(filename)asfile:

        forlineinfile:

        print(line.rstrip())

        創(chuàng)建一個(gè)包含文件各行內(nèi)容的列表

        當(dāng)使用with時(shí),open()返回的文件對(duì)象只能在with代碼塊內(nèi)使用。如果想要在代碼塊外訪問(wèn)文件內(nèi)容時(shí),我們可以在with代碼塊內(nèi)將文件的各行儲(chǔ)存在一個(gè)列表中,并在with代碼塊外使用該列表訪問(wèn)。

        filename='pi.txt'

        withopen(filename)asfile:

        lines=file.readlines()

        forlineinlines:

        print(line.rstrip())

        方法readlines()表示從文件中讀取每一行,并將其儲(chǔ)存在一個(gè)列表中。

        使用文件內(nèi)容

        filename='pi.txt'

        withopen(filename)asfile:

        lines=file.readlines()

        ss=''

        forlineinlines:

        ss+=line.strip()

        print(ss)

        該程序運(yùn)行結(jié)果為:3.141592653589793238462643383279

        2、寫入文件

        寫入空文件

        將文本寫入文件,可以在調(diào)用open()時(shí)提供另一個(gè)實(shí)參。即打開(kāi)文件時(shí),可以指定需要的模式:'r'讀取模式,'w'寫入模式,'a'附加模式,'r+'讀取和寫入模式。python默認(rèn)只讀模式。

        withopen(filename,'w')asfile:

        file.write("abcdefg")

        注意:python只能將字符串寫入文本文件,如果想把數(shù)值數(shù)據(jù)儲(chǔ)存到文本文件,必須先使用函數(shù)str()將其轉(zhuǎn)為字符串格式。

        寫入多行

        withopen(filename,'w')asfile:

        file.write("abcdefg\n")

        file.write("hijklmn\n")

        存儲(chǔ)數(shù)據(jù)python中常使用json來(lái)存儲(chǔ)數(shù)據(jù)。json可以將簡(jiǎn)單的python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)存到文件中,并在程序再次運(yùn)行時(shí)加載該文件中的數(shù)據(jù)。

        JSON數(shù)據(jù)格式并非python專用,它是一種常用的數(shù)據(jù)格式,很有用,也易于學(xué)習(xí)。

        json.dump()和json.load()

        這兩個(gè)函數(shù)分別用于儲(chǔ)存數(shù)據(jù)和加載數(shù)據(jù)。json.dump()接受兩個(gè)實(shí)參:要儲(chǔ)存的數(shù)據(jù)和用于儲(chǔ)存數(shù)據(jù)的文件對(duì)象。json.load()用于加載存儲(chǔ)在json文件中的信息。

        importjson

        num=[1,2,3,4,5]

        filename='a.json'

        withopen(filename,'w')asf:

        json.dump(num,f)

        withopen(filename)asf:

        num=json.load(f)

        print(num)

        這是一種在程序之間共享數(shù)據(jù)的簡(jiǎn)單方式。

        實(shí)現(xiàn)一個(gè)小功能

        下面這個(gè)程序可以實(shí)現(xiàn)我們常常在游戲開(kāi)頭時(shí)遇到的一個(gè)小功能,一起來(lái)試試吧!

        importjson

        #如果以前儲(chǔ)存了用戶名就加載它,否則,就提示用戶輸入名字并存儲(chǔ)

        filename='name.json'

        try:

        withopen(filename)asf:

        username=json.load(f)

        exceptFileNotFoundError:

        name=input("你叫什么名字?")

        withopen(filename,'w')asf:

        json.dump(name,f)

        print("我們會(huì)記住你的,"+name+"!")

        else:

        print("歡迎回來(lái),"+name+"!")

        以上內(nèi)容為大家介紹了Python處理文件的幾個(gè)常用小知識(shí),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        Python字符串連接

        字符串是Python中常用的數(shù)據(jù)類型,在開(kāi)發(fā)過(guò)程中可以對(duì)字符創(chuàng)進(jìn)行截取并與其他字符創(chuàng)進(jìn)行連接。下面小編整理了5種方法完成Python字符創(chuàng)的連接!加...詳情>>

        2023-11-07 06:47:08
        數(shù)據(jù)科學(xué)中必須了解的Python核心庫(kù)

        python有三個(gè)核心數(shù)據(jù)科學(xué)庫(kù),在此基礎(chǔ)上還創(chuàng)建了許多其他的庫(kù)。這三個(gè)核心數(shù)據(jù)科學(xué)庫(kù)分別為:NumpyScipyMatplotlib簡(jiǎn)單起見(jiàn),可以把Numpy視為...詳情>>

        2023-11-07 06:39:56
        如何讓Python代碼更易維護(hù)

        檢查你的代碼的質(zhì)量,通過(guò)這些外部庫(kù)使其更易維護(hù)??勺x性很重要?!狿ython之禪TheZenofPython,TimPeters隨著軟件項(xiàng)目進(jìn)入“維護(hù)模式”,對(duì)可...詳情>>

        2023-11-07 06:14:44
        Pylint讓Python代碼保持一致

        當(dāng)你想要爭(zhēng)論代碼復(fù)雜性時(shí),Pylint是你的朋友。Pylint是更高層級(jí)的Python樣式強(qiáng)制程序。而flake8和black檢查的是“本地”樣式:換行位置、注釋...詳情>>

        2023-11-07 06:00:20
        如何理解Python一切都是變量的說(shuō)法?

        Python的好處之一是與其他語(yǔ)法繁重的語(yǔ)言相比,Python具有相對(duì)易用的特點(diǎn)。但是,隨著深入的學(xué)習(xí)就會(huì)發(fā)現(xiàn)Python有許多隱藏的特性貫穿其中,因此...詳情>>

        2023-11-07 05:17:08
        广宗县| 天峨县| 娱乐| 蒙自县| 陆良县| 上犹县| 融水| 双峰县| 汉中市| 凤山市| 莎车县| 于田县| 当涂县| 延寿县| 齐齐哈尔市| 石渠县| 潜山县| 祁阳县| 雅安市| 延吉市| 乳源| 绿春县| 陆河县| 文山县| 高雄市| 宝清县| 壤塘县| 永福县| 望江县| 旌德县| 祥云县| 礼泉县| 北流市| 纳雍县| 方山县| 昆山市| 陇川县| 唐河县| 顺义区| 如东县| 新源县|