您现在的位置是:首页 > 文章详情

python:好用的 with 语法

日期:2018-09-02点击:425

手动清理资源占用是个很痛苦的事情,比如刚学编程时候,老鸟就建议:写完open xxx 之后一定要写一个配对儿的 close,然后再往他俩中间写逻辑。

python 现在有个好玩的东西,利用上下文可以自动释放掉一个对象:

class test():
    def __init__(self,msg):
        print(msg)
    def __enter__(self):
        print('Enter Object test')
    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Exit Object test')

object=test('Hello')
print('***head of code block***')
with object as t:
    print('Did something here...')
print('***end of code block***')

运行结果如下:

Hello
***head of code block***
Enter Object test
Did something here...
Exit Object test
***end of code block***

Process finished with exit code 0

于是,对于系统自带的文件操作就有了下面这样的用法:

content=''
with open('test.txt','a',encoding='UTF-8') as f:
    f.write('Hello World\n')

with open('test.txt','r',encoding='UTF-8') as f:
    content=f.read()

print(content)

*注意两个f不是同一个对象

是不是很爽?几下就搞定了O(∩_∩)O

原文链接:https://yq.aliyun.com/articles/633473
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章