最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基礎(chǔ)之文件操作和異常處理

 更新時(shí)間:2021年04月19日 14:29:37   作者:weixin_51382726  
這篇文章主要介紹了python基礎(chǔ)之文件操作和異常處理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有一定的幫助,需要的朋友可以參考下

一、文件和異常

1.1從文件中讀取數(shù)據(jù)

讀取整個(gè)文件

讀取文件先要?jiǎng)?chuàng)建一個(gè)文件,在程序的同一目錄下。

greet.txt
“Hello World!
Hello World!
Hello World!
Hello World!”

with open('greet.txt') as file_object:
   contents=file_object.read()
print(contents)

輸出

如果txt文件中有中文,輸出出現(xiàn)亂碼時(shí),可以with open(‘greet.txt',encoding=‘UTF-8') as file_object:。

1.2open()

要以任何方式使用文件時(shí),都必須先打開(kāi)文件,才能訪問(wèn)。函數(shù)open()接受一個(gè)參數(shù),打開(kāi)文件的名稱。在這里open(‘greet.txt')返回的是一個(gè)表示文件greet.txt的對(duì)象,然后將該對(duì)象賦給file_object供以后使用。

1.3關(guān)鍵字with

關(guān)鍵字with在不再需要訪問(wèn)文件后將其關(guān)閉。也可以調(diào)用open()和close()來(lái)打開(kāi)文件。但是不推薦。

1.4read()

方法read()讀取文件的全部?jī)?nèi)容,并將其作為一個(gè)長(zhǎng)長(zhǎng)的字符串賦給變量contents。

二、逐行讀取

with open('greet.txt',encoding='UTF-8') as file_object:
   for line in file_object:
      print(line)

輸出

會(huì)發(fā)現(xiàn)多輸出空白行,文件末尾會(huì)有一個(gè)換行符,而print會(huì)換行,所以就多了,可以使用rstrip()。

with open('greet.txt',encoding='UTF-8') as file_object:
   for line in file_object:
      print(line.rstrip())

輸出

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

with open('greet.txt',encoding='UTF-8') as file_object:
   lines=file_object.readlines()
for line in lines:
   print(line.rstrip())

輸出

3.1readlines()

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

四、查找字符串中是否含有特定的字符串

greet_str=''
with open('greet.txt',encoding='UTF-8') as file_object:
   lines=file_object.readlines()
for line in lines:
   greet_str+=line
input_str=input('輸入你想查找的字符串')
if input_str in greet_str:
   print('有')
else :
   print('無(wú)')

輸出

4.1對(duì)字符串進(jìn)行修改

message='Hello World!'
print(message.replace('World','China'))

輸出

五、寫(xiě)入文件

5.1寫(xiě)入空文件

with open('greet.txt','w',encoding='UTF-8') as file_object:
   file_object.write('我愛(ài)編程')

greet.txt

w'告訴Python要以寫(xiě)入模式打開(kāi)這個(gè)文件。打開(kāi)文件時(shí)可以指定模式:讀取模式'r‘,寫(xiě)入模式'w',附加模式‘a(chǎn)'或讀寫(xiě)模式'r+‘。如果省略了模式實(shí)參,則默認(rèn)只讀模式打開(kāi)文件。

使用寫(xiě)入模式時(shí)要小心,因?yàn)闀?huì)把文件的內(nèi)容清空。

5.2寫(xiě)入多行

函數(shù)write()不會(huì)在文本末尾加換行符所以要我們自己添加。

5.3附加到文件

如果要在文件末尾附加內(nèi)容,可以打開(kāi)附加模式,如果指定文件不存在,Python將自動(dòng)創(chuàng)建一個(gè)空文件。
先greet.txt

with open('greet.txt','a',encoding='UTF-8') as file_object:
   file_object.write('我愛(ài)編程\n')

后greet.txt

在這里插入圖片描述

六、異常

Python使用稱為異常的特殊對(duì)象來(lái)管理程序執(zhí)行期間發(fā)生的錯(cuò)誤。
異常是使用try-except代碼塊進(jìn)行處理的。

6.1處理ZeroDivisionError異常

try:
   print(4/0)
except ZeroDivisionError:
   print('不能數(shù)以0')

輸出

如果代碼塊try-except后面還有代碼將接著運(yùn)行。

try:
   print(4/0)
except ZeroDivisionError:
   print('不能數(shù)以0')
print('--==')

輸出

6.2處理FileNotFoundError異常

使用文件時(shí)如果找不到文件,可以使用try-except代碼塊。

分析文本 split()

split()能根據(jù)一個(gè)字符串創(chuàng)建一個(gè)列表,它以空格為分隔符將字符串拆成多個(gè)部分。

str='你好 世界'
print(str.split())

輸出

6.3靜默失敗

當(dāng)發(fā)生異常時(shí)我們也可以什么都不做。

try:
   print(4/0)
except ZeroDivisionError:
   pass

輸出

pass也可以提示我們什么都沒(méi)有做。

七、存儲(chǔ)數(shù)據(jù)

模塊json可以將簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)儲(chǔ)存在文件當(dāng)中。json
不僅僅能在python中分享數(shù)據(jù),也可以給其他編程語(yǔ)言分享。

7.1使用json.dump()和json.load()

import json
number=list(range(10))
with open('number.json','w') as file:
   json.dump(number,file)

輸出

json.dump()接受兩個(gè)實(shí)參:要 儲(chǔ)存的數(shù)據(jù)和儲(chǔ)存數(shù)據(jù)的文件對(duì)象。文件通常使用文件擴(kuò)展名.json來(lái)支出文件儲(chǔ)存的數(shù)據(jù)為JSON格式。

import json

with open('number.json') as file:
   number=json.load(file)

print(number)

輸出

7.2重構(gòu)

將代碼改進(jìn)的過(guò)程稱為重構(gòu)。重構(gòu)使代碼更加清晰,更易于理解,更容易擴(kuò)容。

到此這篇關(guān)于python基礎(chǔ)之文件和異常處理的文章就介紹到這了,更多相關(guān)python文件和異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python中,pass是一種空語(yǔ)句,即不做任何事情,只起到占位符的作用,本文主要介紹了Python?pass函數(shù)使用及其應(yīng)用的詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 各種Python庫(kù)安裝包下載地址與安裝過(guò)程詳細(xì)介紹(Windows版)

    各種Python庫(kù)安裝包下載地址與安裝過(guò)程詳細(xì)介紹(Windows版)

    這篇文章主要介紹了Windows版的各種Python庫(kù)安裝包下載地址與安裝過(guò)程詳細(xì)介紹,本文給大家提供了windows版的各種Python庫(kù)安裝包下載地址等相關(guān)知識(shí),非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能

    python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能

    這篇文章主要介紹了python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • python畫(huà)一個(gè)圣誕樹(shù)實(shí)現(xiàn)示例

    python畫(huà)一個(gè)圣誕樹(shù)實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了使用python畫(huà)一個(gè)圣誕樹(shù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Python中三種時(shí)間格式轉(zhuǎn)換的方法

    Python中三種時(shí)間格式轉(zhuǎn)換的方法

    本文主要介紹了Python中三種時(shí)間格式轉(zhuǎn)換的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • pandas把dataframe轉(zhuǎn)成Series,改變列中值的類型方法

    pandas把dataframe轉(zhuǎn)成Series,改變列中值的類型方法

    下面小編就為大家分享一篇pandas把dataframe轉(zhuǎn)成Series,改變列中值的類型方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python項(xiàng)目下生成requirements.txt方法

    python項(xiàng)目下生成requirements.txt方法

    這篇文章主要介紹了python項(xiàng)目下生成requirements.txt的方法,很多小伙伴不知道如何生成requirements.txt,本文就通過(guò)代碼示例給大家詳細(xì)介紹如何生成,,需要的朋友可以參考下
    2023-06-06
  • 僅用50行代碼實(shí)現(xiàn)一個(gè)Python編寫(xiě)的計(jì)算器的教程

    僅用50行代碼實(shí)現(xiàn)一個(gè)Python編寫(xiě)的計(jì)算器的教程

    這篇文章主要介紹了僅用50行代碼實(shí)現(xiàn)一個(gè)Python編寫(xiě)的計(jì)算器的教程,主要用到了PlyPlus庫(kù)使得核心代碼十分簡(jiǎn)單,需要的朋友可以參考下
    2015-04-04
  • python 制作網(wǎng)站小說(shuō)下載器

    python 制作網(wǎng)站小說(shuō)下載器

    這篇文章主要介紹了python 如何制作網(wǎng)站小說(shuō)下載器,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python使用MySQL8.2讀寫(xiě)分離實(shí)現(xiàn)示例詳解

    Python使用MySQL8.2讀寫(xiě)分離實(shí)現(xiàn)示例詳解

    在這篇文章中,我們將了解如何將?MySQL?8.2?的讀寫(xiě)分離功能與?MySQL-Connector/Python?一起使用的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論

泽库县| 辽阳市| 泗水县| 苏尼特右旗| 旺苍县| 西安市| 张家港市| 略阳县| 千阳县| 滁州市| 海淀区| 贵阳市| 平顶山市| 新建县| 盐池县| 洞头县| 德令哈市| 罗江县| 梁山县| 平原县| 游戏| 嘉黎县| 大姚县| 噶尔县| 收藏| 保德县| 二连浩特市| 客服| 临西县| 壤塘县| 陇南市| 收藏| 桓台县| 新兴县| 辽阳县| 壤塘县| 伊春市| 石首市| 沙雅县| 西畴县| 石城县|