python笔记
python官方文档
6.6的代码:
from maix import camera,mjpg,display import socket #host_name='192.168.4.1' shuzu=bytearray(57600)#bytes是不能被修改的 #s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #地址簇 : AF_INET (IPv4)类型: SOCK_STREAM (使用 TCP 传输控制协议) #s.connect((host_name,3333)) img=camera.capture() img_2=img.tobytes() print(shuzu[2]) for i in range(172799): if (i%3)==0: shuzu[int(i/3)]=img_2[i] #display.show(img) #message=input("输入东西:") #s.send(message.encode()) #uppermassage=s.recv(172800).decode() print("结果是:") print(shuzu.hex()) #print(img.tobytes().hex()[2]) #s.close() #while True:
bytes打印成hex
在一些时候,我们会读取一些bytes类型的数据,我们可能想输出的他的16进制,当用print(bytes)的时候,就会直接打印出对应的字符,这不符合要求。看下官方怎么说:
即,对于bytes类型,官方已经给出了相应的操作函数,不需要再写什么循环了。
可以使用print(value.hex())来输出value的16进制数
bytes与bytearray
bytes
>>> type(b'xxxxx') <class 'bytes'> >>> type('xxxxx') <class 'str'>
bytes是byte的序列,而str是unicode的序列。
1、str 转换成 bytes 用 encode() 方法:(注意:这有个坑,str1.encode不加括号和加括号是不一样的,自己试试,初学貌似2.0不影响,3.0变了,不加括号开发环境语法不报错)
str = '人生苦短,我用Python!' bytes = str.encode() print(bytes)
输出:
b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'
2、好了,反转换 decode() :
bytes = b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!' str = bytes.decode() print(str)
输出:
人生苦短,我用Python!
bytearray
1、bytearray和bytes不一样的地方在于,bytearray是可变的。
str = '人生苦短,我用Python!' bytes = bytearray(str.encode()) bytes = bytearray(b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!') str = bytes.decode() print(str)
输出:
'人生苦短,我用Python!'
2、改变bytearray
bytes[:6] = bytearray('生命'.encode()) bytes = bytearray(b'\xe7\x94\x9f\xe5\x91\xbd\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!') str = bytes.decode() print(str)
输出:
生命苦短,我用Python!
pip
在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,当然pip还有很多参数都可以帮我们去查询一些库信息,在安装python的时候,下载带有pip的安装包就可以直接安装pip啦,当然没有带pip的,也可以通过下载安装包,手动安装。手动安装还是要会的,毕竟有时候下载超时、或者安装失败都可以用。
命令:python 库的setup.py install,在v831中python3的pip为pip3
查看pip
1.直接在cmd窗口中输入pip命令,会显示pip所有的参数使用方法;
输入pip提示Did not provide a command,则有两种可能,第一是没有配置环境变量,第二就是其他应用程序也存在pip的环境变量
2.where pip(此方法在v831不适用)
这个命令不是pip的命令啊,用这个命令主要是如果上一步,环境变量配置没问题,就是第二种啦,这时候就可以用where pip来查询啦
pip版本
用pip -V可以查看版本,是大写的V:
pip list
查看已经安装的第三方库
pip list --outdated:可以查看有新版本的第三方库,可显示现在安装的版本,以及最新的版本
pip安装第三方库
命令:pip install 库名
pip安装会拉取最新版本安装,想安装任意版本则可加上版本号
命令:pip install 库名=版本号
查看安装
查看安装库的详细信息,命令:pip show 库名
卸载第三方库
命令:pip uninstall 库名
卸载pip
卸载pip的命令:python -m pip uninstall pip;也可以直接把pip文件夹删了;建议使用命令后把遗留的文件删除即可。 pip install upgrade pip
OPEN文件打开存储
with open("test2.txt","wb") as f2: f2.write(img.tobytes()) f2.close()
"with"大概是固定语句