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

Python with關(guān)鍵字,上下文管理器,@contextmanager文件操作示例

 更新時(shí)間:2019年10月17日 09:12:20   作者:houyanhua1  
這篇文章主要介紹了Python with關(guān)鍵字,上下文管理器,@contextmanager文件操作,結(jié)合實(shí)例形式分析了Python使用with關(guān)鍵字及上下文管理器、contextmanager進(jìn)行文件打開、讀寫、關(guān)閉等操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python with關(guān)鍵字,上下文管理器,@contextmanager文件操作。分享給大家供大家參考,具體如下:

demo.py(with 打開文件):

# open 方法的返回值賦值給變量 f,當(dāng)離開 with 代碼塊的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用 f.close() 方法
# with 的作用和使用 try/finally 語句是一樣的。
with open("output.txt", "r") as f:
  f.write("XXXXX")

demo.py(with,上下文管理器):

# 自定義的MyFile類
# 實(shí)現(xiàn)了 __enter__() 和 __exit__() 方法的對象都可稱之為上下文管理器
class MyFile():
  def __init__(self, filename, mode):
    self.filename = filename
    self.mode = mode
  def __enter__(self):
    print("entering")
    self.f = open(self.filename, self.mode)
    return self.f
  # with代碼塊執(zhí)行完或者with中發(fā)生異常,就會(huì)自動(dòng)執(zhí)行__exit__方法。
  def __exit__(self, *args):
    print("will exit")
    self.f.close()
# 會(huì)自動(dòng)調(diào)用MyFile對象的__enter__方法,并將返回值賦給f變量。
with MyFile('out.txt', 'w') as f:
  print("writing")
  f.write('hello, python')
  # 當(dāng)with代碼塊執(zhí)行結(jié)束,或出現(xiàn)異常時(shí),會(huì)自動(dòng)調(diào)用MyFile對象的__exit__方法。
 

demo.py(實(shí)現(xiàn)上下文管理器的另一種方式):

from contextlib import contextmanager
@contextmanager
def my_open(path, mode):
  f = open(path, mode)
  yield f
  f.close()
# 將my_open函數(shù)中yield后的變量值賦給f變量。
with my_open('out.txt', 'w') as f:
  f.write("XXXXX")
  # 當(dāng)with代碼塊執(zhí)行結(jié)束,或出現(xiàn)異常時(shí),會(huì)自動(dòng)執(zhí)行yield后的代碼。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • TensorFlow利用saver保存和提取參數(shù)的實(shí)例

    TensorFlow利用saver保存和提取參數(shù)的實(shí)例

    今天小編就為大家分享一篇TensorFlow利用saver保存和提取參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python使用pycharm導(dǎo)入pymysql教程

    Python使用pycharm導(dǎo)入pymysql教程

    這篇文章主要介紹了Python使用pycharm導(dǎo)入pymysql教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Python將主機(jī)名轉(zhuǎn)換為IP地址的方法

    Python將主機(jī)名轉(zhuǎn)換為IP地址的方法

    今天小編就為大家分享一篇Python將主機(jī)名轉(zhuǎn)換為IP地址的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • django manage.py擴(kuò)展自定義命令方法

    django manage.py擴(kuò)展自定義命令方法

    今天小編就為大家分享一篇django manage.py擴(kuò)展自定義命令方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • pytorch numpy list類型之間的相互轉(zhuǎn)換實(shí)例

    pytorch numpy list類型之間的相互轉(zhuǎn)換實(shí)例

    今天小編就為大家分享一篇pytorch numpy list類型之間的相互轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python編輯和運(yùn)行的四種方式

    Python編輯和運(yùn)行的四種方式

    本篇內(nèi)容主要是講python在電腦上編輯和運(yùn)行的幾種不同方式,后面主要是在pycharm中去寫代碼,然后運(yùn)行,其實(shí)還有其他的方式可以在電腦上寫python代碼和運(yùn)行python代碼,需要的朋友可以參考下
    2024-08-08
  • Python如何把十進(jìn)制數(shù)轉(zhuǎn)換成ip地址

    Python如何把十進(jìn)制數(shù)轉(zhuǎn)換成ip地址

    這篇文章主要介紹了Python如何把十進(jìn)制數(shù)轉(zhuǎn)換成ip地址,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python求素?cái)?shù)示例分享

    python求素?cái)?shù)示例分享

    這篇文章主要介紹了python求素?cái)?shù)示例,打印出素?cái)?shù)列表,需要的朋友可以參考下
    2014-02-02
  • python如何通過psutil獲取服務(wù)器cpu、內(nèi)存、磁盤使用率

    python如何通過psutil獲取服務(wù)器cpu、內(nèi)存、磁盤使用率

    這篇文章主要介紹了python通過psutil獲取服務(wù)器cpu,內(nèi)存,磁盤使用率,使用psutil,可以很方便地監(jiān)控系統(tǒng)的運(yùn)行狀況,診斷問題和優(yōu)化性能,需要的朋友可以參考下
    2023-04-04
  • tensorflow-gpu安裝的常見問題及解決方案

    tensorflow-gpu安裝的常見問題及解決方案

    這篇文章主要介紹了tensorflow-gpu安裝的常見問題及解決方案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧,需要的朋友可以參考下
    2020-01-01

最新評論

天台县| 沐川县| 南通市| 嘉黎县| 东乡| 碌曲县| 原平市| 高台县| 旬阳县| 遂溪县| 湖南省| 象州县| 宁国市| 武冈市| 鄂托克前旗| 旌德县| 永城市| 乡城县| 聂拉木县| 砀山县| 潮安县| 彭山县| 和硕县| 韩城市| 台北县| 浦东新区| 南召县| 三亚市| 莎车县| 哈尔滨市| 新平| 泾源县| 乐至县| 九江县| 济南市| 新龙县| 岚皋县| 黄山市| 吴江市| 双鸭山市| 都江堰市|