分类 Python 下的文章

python opencv搭建


起步

系统环境:win7 64位 python版本:2.7

第一步

需要下载opencv和python的numpy库。

https://sourceforge.net/projects/opencvlibrary/files/里找到win环境下最新版本的opencv-2.4.12.exe

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载对应的numpy,下载的是.whl文件,安装方式:

pip install whil_file.whl

第二步

opencv\build\python\2.7\x64下的cv2.pyd拷贝到Python27\Lib\site-packages

测试

import cv2
import numpy

python练习


其实有很多这样的活动都有一个相同的模式:N 种人物卡片,每次买一包干脆面随机得到一张。当你集齐这 N 种人物时,就会有相应的奖励。 那时候还不懂怎么计算概率,白白给人家送了好多钱,吃了好多干脆面。 现在的任务是,给你一个正整数 N (1 <= N <= 10^4),请你帮我从期望的角度计算平均需要买多少包干脆面才能集齐这 N 种人物。 提醒:由于结果可能不是整数,所以结果只保留到小数点后两位。


使用C/C++编写Python模块扩展


起步

这是我第一次尝试用c语言给其他语言编写扩展,期望我后面能强到可以为php编写扩展。现在用的python,写的模块也大都是python自身语言写的,为了获得优越的执行性能,利用Python提供的API,如宏,类型,函数等来编写扩展。

前期准备

此次编写的环境为:

  • 系统:Ubuntu 15.10
  • GCC:5.2.1
  • Python:2.7.10

环境版本不一致一般也不会有什么问题,确保已安装python的开发包:sudo apt-get install python-dev


Tornado学习之网站制作篇


  之前介绍过Tornado是一个多用途的Python框架,下面通过两个例子四个方面来介绍如何利用Tornado来制作网站(不适合制作大型网站)。   先看一个简单的例子:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

from tornado.options import define, options

define("port", default=8888, help="run on the given port", type=int)

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def main():
    tornado.options.parse_command_line()
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.current().start()

if __name__ == "__main__":
    main()


Python调用系统函数:pexcept模块


起步

人生苦短,我用python!最近涉猎也是越来越广了。需要创建ftp用户,然而创建用户是需要root的权限才能执行的,更是需要后续输入,好在有pexcept可以实现自由交互

举个栗子

要确定pexpect模块已安装:sudo pip install pexpect 看一个用sudo权限touch一个文件:

#!/usr/bin/env python
# coding=utf-8
import pexpect

cmd = "sudo touch sudo_touch"
passwd = '***'

run = pexpect.spawn(cmd)
try:
    run.sendline(passwd)
    ouput = run.read()
    print ouput
except:
    print 'Error'