python2 到python3
-
python2 是目前市面上大部分python系列教程使用的python版本, 基本满足了我们日常的开发学习需求,第一次觉得要升级到python3是在装tensorflow时,当时python2并不支持,只能在python3下装,但是人总是不喜欢改变,因为改变需要我们花时间去学习、适应新的事物,要经历一段煎熬的过程,python官方也宣布2020年起,python2将不再进行更新维护,所以升级python是必要的。
-
linux下自带python2,可以自行再安装python3,安装可以在官网下载需要的版本,解压、编译、安装,配置环境变量。因为同时有两个版本存在,在运行程序、安装依赖包时都应分开,不然就混乱了。也可以通过anoconda安装,内部包含了很多库,无需自行安装了。
-
windows下也是类似的,
python37 -m pip install imp 这样就可以安装库了,其中python37 是自行修改的python3中python.exe 的文件名,用来和python 2中的python.exe区分。 -
python 2 中print “hello world” python3 中 (“hello world”)
-
python3 中str字符串采用unicode编码,所以像python2中python 字符串的 encode 和 decode方法将不再使用,
-
python 3 中 引用同一目录下的文件需要加"."
from .A import test from A iport test -
python3 except cx_Oracle.DatabaseError as err
python2 except cx_Oracle.DatabaseError , err -
python3 中可能原来python2的一些方法没有了,可以用 dir(exc) 查看exc 下都用哪些方法
-
python3 中可以用 concurrent.futures 来实现异步操作
from flask import Flask
import time
from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(1)
app = Flask(__name__)
@app.route('/synchronize')
def update_redis():
executor.submit(do_update())
return '996ok'
def do_update():
time.sleep(10)
print('start upe')
if __name__ == '__main__':
app.run(port=8005)
- 当我们在浏览器中访问127.0.0.1:8005/synchronize
我们期待的结果是浏览器返回“996ok”,然后十秒后控制台输出“start upe”
然而 并没有…
发生了什么,代码都是参考网上的,而且别人都可以,比对工具用起来,一行一行比,反正也没几行。
from flask import Flask
import time
from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(1)
app = Flask(__name__)
@app.route('/synchronize')
def update_redis():
executor.submit(do_update)
return '996ok'
def do_update():
time.sleep(10)
print('start upe')
if __name__ == '__main__':
app.run(port=8005)
- 这样就好了, executor.submit(do_update)执行时,不要传参数,括号也不要写,就达到开始的目的了。
- ue下写的代码在pycharm中打开时大量的提示格式错误,由于python严格要求缩进,空格和“tab”键混用很容易出现这一问题,一行一行的改,需要改太久,pycharm中的在
code 》reformate 中就可以快速意见对齐,快捷键是“Ctrl + Alt + L”
上一篇: 一个简单、纯洁的PHP分页类
推荐阅读
-
java-从 android 应用程序响应时间发送 php 查询到服务器
-
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题_javascript技巧
-
11.2.0.1单实例数据库升级到11.2.0.3.18的步骤
-
用perl做数据库迁移,从MSSQL到MYSQL(三)
-
post请求重定向到get请求问题
-
js 优化次数过多的循环 考虑到性能问题_javascript技巧
-
从.Net到Java学习第六篇——SpringBoot+mongodb&Thymeleaf&模型验证
-
Oracle数据库从A服务器到B服务器的转移
-
SpringCloud(四):将微服务注册到Eureka Server
-
如何把php5.3版本升级到php5.4或者php5.5_PHP