python3中,迭代器的next调用变成了函数,next()
迭代器的两种基本方法:iter()和next()
字符串、列表、元组对象都可用于创建迭代器
在python中,使用了yield的函数被称为生成器,其本质就是一个迭代器
telnetlib库的使用注意:
python2中,运行以下代码,不会报错
#! /usr/bin/env python
# -- coding:utf-8 --
import telnetlib
aa = telnetlib.Telnet(host='192.168.10.81',port='22',timeout=3)
bb = aa.read_until("\n",timeout=5)
print(bb)
python3中,运行以上代码会报错:TypeError: a bytes-like object is required, not ‘str’
报错原因是:python3中,新特性也是对文本和二进制数据做了更清晰的区分。文本用unicode编码,为str类型,二进制数据则为bytes类型。因此需要用以下的函数进行类型转换
encode(编码),可以将str类型编码为bytes。
decode(译码),可以将bytes类型转换为str类型。
代码更改为:
#! /usr/bin/env python
# -- coding:utf-8 --
import telnetlib
aa = telnetlib.Telnet(host='192.168.10.81',port='22',timeout=3)
bb = aa.read_until("\n".encode(),timeout=5)
print(bb)
- Flask
- flask中,单独设置环境变量的方法,新建变量文件.env(名字自定义),将此文件放在你的应用的根目录下,比如app中,否则会找不到你创建的py文件
export FLASK_APP=test-flask.py export FLASK_DEBUG=1
- flask中,单独设置环境变量的方法,新建变量文件.env(名字自定义),将此文件放在你的应用的根目录下,比如app中,否则会找不到你创建的py文件