python
马红权
从事分析仪器软件开发N年,掌握语言平台无数。
展开
-
通过虚拟打印机获取其他软件的数据,实现数据传输
某些软件没有提供合适的接口,无法直接获取其中的数据,但是一般都有打印功能。通过虚拟打印机可以获取其中的数据。pdf打印机较为普遍,本文中通过将pdf转换为txt获取数据。转换利用了xpdf。def convert(fn): cmd=r'..\xpdfbin-win-3.03\bin32\pdftotext.exe -layout "%s.pdf" "%s.txt"' % (fn,f原创 2013-12-02 14:55:42 · 2575 阅读 · 1 评论 -
通过网页抓取github仓库的部分文件
有些github仓库非常大,如果只想下载部分文件,用 git无法实现。所以编写了这个脚本,提取仓库的部分文件。点击打开githubimport requestsfrom bs4 import BeautifulSoupimport ospath="https://raw.github.com/mahongquan/OpenBird/master/"def savefil原创 2014-02-15 10:17:02 · 2136 阅读 · 1 评论 -
python操作oracle数据库的另类方法
python 通过oracle instant clients访问数据库似乎没有好的方法。本文中直接通过操控进程sqlplu.exe进行数据库的写入。#-------数据库----------db_user="User2" #用户名称db_password="D9" #用户密码db_ip="211.74.34.23"db_port="1521"db_tnsname="erpo原创 2013-12-02 14:02:00 · 806 阅读 · 0 评论 -
python3 tarfile内存内打包文件
# -*- coding: utf-8 -*-import tarfileimport osfrom io import BytesIO,StringIOdef tarDict(dict1): fgz = BytesIO() tar = tarfile.open(mode="w",fileobj=fgz) ks=dict1.keys() for key in ks: tarin原创 2015-10-16 10:41:39 · 1772 阅读 · 0 评论 -
简单博弈树算法(nim游戏)
简单博弈树算法(nim游戏)的python实现。import randomimport treelibtagid=0def gentag(): global tagid tagid+=1 return str(tagid)def next(c): if(c>3): return [c-1,c-2,c-3] elif (c>2): return [c-1,c原创 2014-02-17 09:03:43 · 2252 阅读 · 0 评论 -
libClang python binding介绍
llvm clang编译工具不仅用于编译,还可以用来对代码分析。也可以用于代码翻译。libclang python binding 安装过程:下载llvm,clang,编译后生成一大票库文件。libclang python binding是通过ctype来访问libClang的,无需编译。将libclang python binding的python文件拷贝到当前目录,并且设置原创 2014-03-12 20:02:21 · 3322 阅读 · 0 评论 -
正则式代码转换程序,用于cocos2d-x不同版本之间程序移植。
如果开发环境没有反射功能,代码改名的工作量不小,下面代码实现了批量替换变量名称。修改可用于代码转换的许多情况。本文中用于cocos2d-x不同版本之间程序移植。代码主要功能:将注释和字符串排除在外,其他内容匹配变量名,用字典进行替换。原创 2014-02-27 11:28:59 · 903 阅读 · 0 评论 -
报数游戏python 解答
又做了个小题目,报数游戏。题目详情一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。def原创 2014-02-12 15:25:34 · 3418 阅读 · 0 评论 -
最少操作次数使两个字符串相等
给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方法是:abcd->cabd->bcad。def getBeforeOrlast(a,c): for i i原创 2014-02-24 11:04:42 · 5516 阅读 · 0 评论 -
python实现数据结构太Easy
记得原来学数据结构和算法基础,觉得很难,现在用python实现数据结构太Easy。以下是练习的树结构和双向链表结构。#treeclass TreeNode: def __init__(self,value):#value is used here,node is used other places self.parent=None self.val原创 2014-02-23 20:27:05 · 1010 阅读 · 0 评论 -
编程挑战 分巧克力
做了一道编程挑战题,只允许在校生参加,不知道结果对不对。儿童节快到了,班长想要给班上的每个同学给一个巧克力,巧克力的形状是一个宽为2,长为n的长方形,由于巧克力太贵,班长就想把这个大块的巧克力分成许多1*2(宽*长)的小块巧克力,这样每个人都能得到一份1*2的巧克力,现在给定巧克力的长为正整数n(1def split(n): if n==1: return 1 elif n==原创 2014-01-28 13:05:38 · 1050 阅读 · 0 评论 -
github上发现并克隆的一个django tastypie backbone.js例子
github上发现并克隆的一个django tastypie backbone.js例子,修改使支持django1.6,tastypie 0.9.15,增加admin界面。下载地址原创 2013-12-27 10:41:45 · 1844 阅读 · 0 评论 -
windows环境下部署django mod_wsgi apache
修改apache 配置文件http.confWSGIScriptAlias / D:/sampleinfo_learn/mysite/wsgi.pyWSGIPythonPath D:/sampleinfo_learn Order deny,allow Allow from all LoadModule wsgi_module原创 2013-12-02 13:52:20 · 885 阅读 · 0 评论 -
庞果最小操作数
A="hit"B="cog"D=["hot","dot","dog","lot","log"]def link(a,b):n=len(a)same=0for i in range(n):if a[i]==b[i]:same+=1if same==n-1:return Trueelse:return Falsesuc=[]path=[]path.append(A)def searchPath(pat原创 2013-07-23 09:18:29 · 688 阅读 · 0 评论 -
调试django发现的新鲜出炉的python mimetype.py的bug.
调试django发现的新鲜出炉的python bug.原创 2013-12-10 08:35:41 · 1473 阅读 · 0 评论 -
python调用子进程实例,来自cherrypy-cgiserver
进程间通讯实例,调用php-cgi.exe,生成网页内容。import subprocessimport tempfilefrom cStringIO import StringIOimport threadingPHP_CGI = 'H:/web/php_server_simple/php/php-cgi.exe'def test2(): response = tempfi原创 2013-12-03 15:57:01 · 876 阅读 · 0 评论 -
django apache mod_wsgi 发布
配置文件真的挺简单,如下即可,只是要编译apache,apr,apr-utils,libpcre,mod_wsgi等,ubuntu17.10下的apache2安装包不能用,自己编译的apache2安装在/usr/local/apache2,配置文件日志文件等都在这一文件夹内。LoadModule wsgi_module modules/mod_wsgi.soWSGIScriptAlias / ...原创 2018-01-12 20:44:09 · 172 阅读 · 0 评论