python中的with语句实例用法-创新互联

这篇文章主要介绍“python中的with语句实例用法”,在日常操作中,相信很多人在python中的with语句实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的with语句实例用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海盐企业提供专业的做网站、成都网站设计,海盐网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

    今天同事找到我说,他用pyton连接不上数据库。出于安全考虑,我们的数据库不允许直连,需要通过跳板机进行连接。所以,我认为是他没有使用ssh隧道。结果看了代码后,发现使用了sshtunnel模块的。

    将他的代码拿来后,自己运行了一遍。也是报错(2013, 'Lost connection to MySQL server during query')。以为是网络原因,又接着运行了几遍,还是报相同的错误。核对了下,连接信息都没问题的,检查网络,也没发现异常。顿时傻眼了,不知所措。就先去解决其他问题了。晚上回到家后,有着强迫症的我,又重新打开了代码,端详了起来。

with SSHTunnelForwarder(          (ip, port),    #B机器的配置          ssh_username="user",          ssh_password="password",          remote_bind_address=('ip', port)          #logger=create_logger(loglevel=1) ) as server:     conn = MySQLdb.connect(host='127.0.0.1',    port=server.local_bind_port,    username='username'    password='password'    db='db'    charset='utf8' ) cursor = conn.cursor() sql = 'select * from test limit 1'

如上代码,一开始并没发觉哪里不对,但后来看到那个报错,又想到前几天看到python中with的用法,似乎有了眉目。将sql代码放在with块里边执行。一切都OK了,瞬间觉得恍然大悟。这和with语句的特性密不可分。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

到此,关于“python中的with语句实例用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:python中的with语句实例用法-创新互联
网页网址:http://pwwzsj.com/article/dcdidi.html