
python
一只鸭鸭ya
这个作者很懒,什么都没留下…
展开
-
python出现ImportError的一种起因
背景由于导包时形成一个循环,导致导包异常目录结构(不要学我命名,我就写个demo,试一下新语法)orm_learnmodelinit.pymaker_behavior.pydml.pysettings.py报错信息Traceback (most recent call last): File "dml.py", line 7, in <module> from model.maker_behavior import TOtcOperateMode File "原创 2021-08-26 10:44:14 · 729 阅读 · 0 评论 -
sqlalchemy反射,表反向生成orm结构
方法1sqlacodegen 'mysql+pymysql://root:123456@127.0.0.1:3307/monitor?charset=utf8'方法2some_table = Table("some_table", metadata, autoload_with=engine)some_tableTable('some_table', MetaData(), Column('x', INTEGER(), table=<some_table>), Col原创 2021-08-18 09:49:11 · 761 阅读 · 0 评论 -
sqlalchemy AttributeError: can‘t set attribute可能的错误原因
在model没有缺少字段的前提下做以下查询def foo(path): imgs = sess.query( Img.url, Img.map_url ) for img in imgs: img.path = path sess.commit()会出现sqlalchemy AttributeError: can't set attribute的情况,同理改成def foo(path):原创 2020-08-23 11:19:49 · 4909 阅读 · 0 评论 -
webargs,restful参数处理
普遍程序员给大家的印象都是穿衣打扮很out,但是他们对于新技术和数码产品的追求绝对是很in的。-----我说的前言:这次用的web框架是Tornado,webargs的中文例子还是挺少的,我起个头,接下来指定有很多抄袭的1 获取参数的基本操作在官网中有两种一种是使用装饰器一种是声明parse实例。既然有两种方式,那就要思考到底哪一种更加的优雅。在restful的风格的大前提,同一个路由路径可能有多种不同的请求方式,例如‘/api/books/’这个接口使用POST请求则对应添加一本新书的操作,.原创 2020-08-07 00:04:34 · 943 阅读 · 0 评论 -
SQLAlchemy 出现TypeError: unhashable type: ‘dict‘的一种可能性
一、首先是检查对应的model数据类型是否对上了。可能你并不知道可以通过数据库表反向生成model,也有可能是在网上搜索得到结果是:sqlacodegen --tables [数据库名称] --outfile [要写入文件的路径]/[要写入的文件名称].py mysql://[用户名]:[密码]@[数据库host]/[数据库db]?charset=utf8然后报错:zsh: no matches found:然而想反向生成文件只需要打印到控制台即可,不需要写入文件,在终端输入:s.原创 2020-08-04 23:28:56 · 1124 阅读 · 0 评论 -
python dict赋值列表会嵌套一个元祖
一、现象dict["key"] = [{"k1":"v1"},{"k2", "v2"}] 赋值后的结果dict["key"] = ([{"k1":"v1"},{"k2", "v2"}],),前端遍历数据,会把元祖转化成列表。返回前端的就是dict["key"] = [[{"k1":"v1"},{"k2", "v2"}],]]。二、解决办法改变赋值的方式改成dict = {"...原创 2020-05-06 18:03:33 · 346 阅读 · 0 评论 -
tornado websocket实现后台推送数据
1、长轮询一句话来概括:长轮询就是客户端和服务器端保持连接,相互发信息。2、流程前端发出一个请求。 后端接收到请求后,触发on_message方法(执行write_message("hello"))。 前端收到“hello”触发on_message方法(执行渲染,把hello渲染到页面上)。 后端开始轮询,向前端发消息。 前端接收到信息后不断渲染新的内容。3、代码示例...原创 2020-07-23 15:40:33 · 940 阅读 · 2 评论 -
mac把python项目部署到ubuntu服务器没有root权限并且做定时任务
1、首先是把自己的项目代码上传到服务器中点击shell,左边点击sftp安全文件传输,右边新建远程连接点击+号添加服务器IP地址,填写用户,点击链接。或者是直接在终端执行以下命令:sftp 【你的用户名】@IP地址然后把什么.git、env、log、存放测试结果、.DS_Store、__pycache__等等的垃圾都不要上传了。put -r 【本地项目文件绝对路径】【存放...原创 2020-03-23 23:34:00 · 340 阅读 · 0 评论 -
opencv图像识别车牌
放假前写的代码,pip更新了连注释都不能写,现在看一下真不知道自己写了什么鬼。最邪的是我的能在当前py文件下调用函数生成imread的对象,但是在测试文件就不行,检查过绝对路径和相对路径没有中文,我尝试通过导入imread对象还是None,我纳闷了。所以我决定还是把测试写到同一个地方吧。车牌已经打马赛克。目录1 安装2 代码实现2.1 调整图片2.2 去噪声2.3 Ca...原创 2020-07-23 15:40:53 · 891 阅读 · 0 评论 -
python实现串口通信
因为店家只给了我两页纸的vc0706通信协议,许多细节我还是不清楚,写得也没有特别优雅,大家就凑合看吧。目录1 硬件设备2 serial安装3 实现串口通信3.1 发现端口3.2 发送命令3.2.1 协议格式3.2.2serial传送的方式3.3 获取版本号(hello world)3.4 复位3.5 照相3.5.1停止当前帧刷新3.5.2...原创 2020-07-23 15:39:56 · 8097 阅读 · 1 评论 -
【剑指offer】旋转数组的最小元素
一、题目以及解题方法:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解:找出转折处的数字,因为数组是递增的,假如找到某一个点是突然递减小,那个点就是要返回的...原创 2019-07-19 19:14:23 · 145 阅读 · 0 评论 -
python实现阻塞队列
目录一、初始化函数:二、 task_done(self):三、join(self):四、put(self, item, block=True, timeout=None):五、阻塞的情况怎么实现阻塞队列?当然是靠锁,但是应该怎么锁?一把锁能在not_empty,not_full,all_tasks_done三个条件之间共享。好比说,现在有线程A线程B,他们准备向队列put任...原创 2018-09-23 10:40:49 · 5476 阅读 · 0 评论 -
future与线程池
目录一、future二、future作用三、future的基本结构四、线程池的工作五、线程的工作六、主线程的工作七、过程解析第一段是处理时间的工具类:第二段是我们的牌牌(future)第三段是我们的厨师第四段是线程池一、futurefuture(期物,流畅的python是这么翻译的)期物是指一种对象,表示已不执行的操作。算了文绉绉的我也不知道...原创 2018-09-17 18:01:15 · 2034 阅读 · 2 评论 -
Python多线程 坑Unhandled exception in thread started by Error in sys.excepthook
先给大家推荐翻滚吧挨踢男的博客Python菜鸟学习手册15----多线程写的又有趣又易于理解第一个demo我就踩了一次坑:def foo(tag, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print("%s:%s" % (tag, ...原创 2018-05-13 19:49:07 · 12038 阅读 · 1 评论