2015-05-20 刘太华
一次悲惨的PY注入式漏洞 在前一篇里讲过的使用cpp和python互相调用方法的结构。 这两天就有一个相关漏洞被人利用了, 异常悲惨。 我们的场景服务对每一个GameWorld都有一个PyTermWorld, 是用来接受数据服务发送过来的连接信息的, 比如可以通过协议连接socket到PyTermWorld, 发送LevelUp, 发送 AddExp等, 也有其他命令是通知PyTermWorld调用相关Python函数的, 比如send_cmd(cmd='import notify;notify.test(xxx,yyyy)') 这样的命令, 这里面的cmd会带上具体的脚本模块以及具体的python方法名称, 继续阅读 »
2016-11-11 litaotao
Python Stackoverflow 经典问题 What does the “yield” keyword do? What is a metaclass in Python? How do I check whether a file exists using Python? Does Python have a ternary conditional operator? Calling an external command in Python What does if __name__ == “__main__”: do? How to make a chain of function decorators in 继续阅读 »
2015-02-10 biezhi
```python !/usr/bin/env python coding:utf-8 import MySQLdb try: #连接mysql的方法:connect('ip','user','password','dbname') #conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test') conn =MySQLdb.connect('127.0.0.1','root','123456',charset = 'gb2312') conn.select_db('python') cur 继续阅读 »
2016-05-25 Li Shuai
也许你会偶然发现Python的多线程程序使用Ctrl-C杀不掉,必须拿到pid用kill -9才能干掉,研究这个问题的原因可以使得对Python多线程的信号处理及线程的退出机制有更好的理解。 假如有一个Python写成的用多线程模拟生产者-消费者的程序,代码如下: class Producer(threading.Thread): def run(self): global count while True: if cond.acquire(): if count > 1000: cond.wa 继续阅读 »
2016-06-11 Lu Huang
本节实现的是使用内建摄像头捕获视频,并保存视频。 创建摄像头对象 逐帧显示实现视频播放 保存摄像头的每一帧图像 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建摄像头对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture(0) 定义写入视频格式和写入对象 利用cv2.cv.FOURCC(*'XVID')定义视频格式,然后创建视频写入对象。 ``` python Define the codec and create 继续阅读 »
2015-05-07 summer
最近在学习python,基本的语法看了一遍了,想了解一下gui编程方面的知识,所以对Tkinter进行一些了解,此博客记录自己的学习过程。 我的第一个python gui程序 ``` #!/usr/bin/evn python # -- coding: utf-8 -- #filename:helloworld.py 继续阅读 »
2016-06-07 Lu Huang
本节实现的是读取视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建视频对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 pyt 继续阅读 »
2019-08-16 Lanffy
最近在工作中需要用Python做大量的数据分析,在这些数据中,很大一部分都是中文。在处理过程中,中文编码处理花了一些时间。这里做一个记录。 首先是在Python脚本内的中文编码处理,这个网络上有很多教程和解决方案了,这里不再赘述。推荐参考: 继续阅读 »
2016-06-12 Lu Huang
本节实现的是使用OpenCV里自带的函数,绘制直线、长方形、圆形和椭圆。 绘制直线 绘制长方形 绘制圆形 绘制椭圆 添加文字 实现过程 引用与创建空图 不再赘述,代码如下。 ``` python import cv2 import numpy empty image img = np.zeros((512, 512, 3), np.uint8) ``` 绘制直线 使用opencv自带的line()函数绘制一条对角线,其声明如下: python cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) 其中各种参数的意义如下: img 继续阅读 »
2015-05-18 刘太华
通过SWIG在Py里调用cpp的方法 通过Python.h接口, 在cpp里使用python脚本 经常会做改动的业务逻辑在Py里做, cpp通过SWIG暴露出某些cpp内的对象和方法,给python做调用。 同时cpp内也会有CallNoRT来调用python脚本, 完成类似闭环的调用链。 继续阅读 »