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

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

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

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

demo.py(with 打開文件):

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

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

# 自定義的MyFile類
# 實現(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ā)生異常,就會自動執(zhí)行__exit__方法。
  def __exit__(self, *args):
    print("will exit")
    self.f.close()
# 會自動調(diào)用MyFile對象的__enter__方法,并將返回值賦給f變量。
with MyFile('out.txt', 'w') as f:
  print("writing")
  f.write('hello, python')
  # 當with代碼塊執(zhí)行結(jié)束,或出現(xiàn)異常時,會自動調(diào)用MyFile對象的__exit__方法。
 

demo.py(實現(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")
  # 當with代碼塊執(zhí)行結(jié)束,或出現(xiàn)異常時,會自動執(zhí)行yield后的代碼。

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

希望本文所述對大家Python程序設計有所幫助。

相關(guān)文章

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

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

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

    Python使用pycharm導入pymysql教程

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

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

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

    django manage.py擴展自定義命令方法

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

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

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

    Python編輯和運行的四種方式

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

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

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

    python求素數(shù)示例分享

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

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

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

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

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

最新評論

山西省| 阳山县| 文化| 阳曲县| 来宾市| 定襄县| 鱼台县| 原平市| 穆棱市| 梁山县| 鄱阳县| 电白县| 隆林| 泉州市| 册亨县| 建水县| 泾阳县| 和硕县| 锡林郭勒盟| 东乌珠穆沁旗| 广元市| 东莞市| 安福县| 万全县| 通榆县| 汽车| 上林县| 长岭县| 洛隆县| 奉新县| 额尔古纳市| 收藏| 金川县| 周宁县| 涟水县| 固原市| 班玛县| 汨罗市| 永春县| 江北区| 克山县|