python学习
文章平均质量分 57
ck3207
这个作者很懒,什么都没留下…
展开
-
从shenfenzheng网站获取身份证号码等信息
这个程序是最初学Beautiful Soup时,写的一个程序。 因为相对以前的正则什么的,获取一组数据还是有点麻烦的,这边分割,那边分割。程序代码也没有那么简单直观。 如图,是我们今天要获取数据的网页 本次我们用到的的库(不是python 自带的库)有BeautifulSoup && pymysql 这两个库安装很方便,配置好了pip环境后,直接输入命令 pip install Beau原创 2016-07-09 20:51:34 · 3550 阅读 · 0 评论 -
找出某目录下前N个最大文件
最近电脑D盘亮“红灯”,可用空间已经不到10个G。想想也没有下载电视剧、电影等,那到底是什么如此占用空间呢?决定写个脚本,查找出TOP N个最大的文件。写脚本的时候,发现找最大的文件,很容易写出来,但是写前N个最大文件的时候,就发现不那么顺畅(也许是没用对方法)。先定义一个文件大小排序函数,rank_list初始是一个空的列表,用来存放前N个最大文件的文件大小值;size 是新获取文件的大...原创 2018-02-27 20:14:43 · 1542 阅读 · 0 评论 -
计算每月扣税金额
前几天两会,新闻说政府可能会提高交税的基准,然后说开玩笑说等提上来,税都不用交了。然后随口一问,月薪10W,要扣多少税?网上查了下,不同薪资的不同税收政策。薪资扣完五险一金后,税率如下: 程序以每个挡位的薪资为键,税收为值,并设置最大税收,如下:tax_dic = {1500:3,4500:10,9000:20,35000:25,55000:30,80000:35}max_tax ...原创 2019-10-14 18:18:29 · 1330 阅读 · 0 评论 -
使用python连接redis
使用python连接redis很久以前就用到过,不过是单点连接,即非集群。这次碰到需要集群连接的,发现两种模式稍有不同,但可以统一处理。 代码如下:# -*- coding: utf-8 -*-__author__ = "chenk"import redisfrom rediscluster import StrictRedisClusterimport sysclass ...原创 2018-05-14 11:43:24 · 1039 阅读 · 0 评论 -
mysql数据迁移
脚本背景在日常工作中,会经常遇到需要把某个环境的数据迁移至另一个环境的库中去。作为测试人员,最怕的是测试的时候没有数据。如果别的环境存在数据,并且能够有权限去获取数据,这个时候我通常会从其他环境(例如:开发环境)中拷贝一份数据过来。 用navicate其实很容易进行导出整个库的数据,如果库中只有某几张表数据会用到,那么也可以只导出某几张表。但有时会遇到这么一个情况,表中的数据只有少量是我们需...原创 2018-05-08 00:10:30 · 693 阅读 · 0 评论 -
mysql 通用造数据脚本
背景公司研发了一个系统——基于客户交易行为,利用算法得出各个用户的各式各样的特征,暂且称之为“标签”。这些“标签”是利用大数据平台计算而得的结果。计算得到的近三四百个“标签“数据会会落到中台N张表中。操作员,在管理平台,能够通过特定”标签“获取某类满足此”标签“的用户,或者搜索某个用户的账户,查询该用户的”标签“。 在测试过程中,没有数据是一个很苦恼的事情。手工插入数据,三四百个字段,插入十...原创 2018-05-25 10:30:07 · 11503 阅读 · 2 评论 -
python3.4安装cx_Oracle环境
昨天在家里的电脑本来要调试点代码的,但发现装个cx_Oracle库都捣腾了半天。所以梳理了一下。安装包准备需要oracle客户端文件 instantclient ,点击去oracle官网下载。下载需注意版本:一是操作系统版本,二是客户端版本。 需要安装文件cx_Oracle,点击去python官网下载。下载时需注意版本:一是操作系统版本,二是python版本,三是oracle客户端版...原创 2018-06-15 15:37:10 · 2208 阅读 · 0 评论 -
tkinter 居中处理
最近,工作上需要写一个windows上可执行的客户端,已经与tkinter打交道了一周了。趁着知识还没冷掉,做一下梳理。 根据我写的界面,通常会遇到的问题是组件居中处理。创建了一个Toplevel对象后,为了美化,通常会对该对象进行居中展示。demo完整代码如下:from tkinter import *class Win_Program: def __init__(self...原创 2018-06-26 00:26:59 · 10299 阅读 · 1 评论 -
Listbox 与 Scrollbar 联动设置
接着上一篇的博文(tkinter 居中处理),接下来,需要在新建的窗口加点内容。 先上今天的代码:from tkinter import *class Win_Program: def __init__(self): self.master = Tk() self.master.state("zoomed") # 窗口最大化 s...原创 2018-06-26 23:14:05 · 1461 阅读 · 0 评论 -
tkinter bind方法支持参数传递
接上一篇博文(Listbox 与 Scrollbar 联动设置),接下来该说说事件的事情了。 还是先上代码:from tkinter import *from tkinter import messageboxclass Win_Program: def __init__(self): self.master = Tk() self.mast...原创 2018-06-28 00:22:41 · 13223 阅读 · 1 评论 -
python 利用虚数解一元方程组
最近在写一个产生数据的脚本,该脚本可以设置表字段间的逻辑关系。比如:Table1.col1 + Table2.col2 = Table3.col3。如果设置了这种逻辑关系,那么势必会遇到知道其中两个字段的值,需要计算第三个字段值的情况。 一开始,没有往深入想,觉得不会很难,就傻乎乎的在写了。越写越觉得不好写,越写越觉得难处理。虽然最终写出一个能解四则运算的方法来,但是觉得心力交瘁。逻辑上上下下,...原创 2018-07-19 21:59:53 · 2078 阅读 · 0 评论 -
Checkbutton多选功能
在tkinter中,会经常用到Checkbutton 或者 Radiobutton 实现多选功能(单选功能一般用Listbox)。很多文章都是粗略的说了怎么实现多选选中的效果,却没有指出如何确定哪些被选中了。当只创建一个Checkbutton时候:v = IntVar()Checkbutton(master=self.master, variable=v, text=text, heig...原创 2018-07-15 10:35:51 · 2919 阅读 · 1 评论 -
二分法、选择排序、快速排序
最近看了《算法图解》,觉得很棒,做一些总结记录。# -*- coding: utf-8 -*-import random__author__ = "chenk"class Algorithme: """""" def __init__(self): self.low = 0 self.high = 10000 def get_ra...原创 2019-05-27 22:43:23 · 992 阅读 · 1 评论 -
状态模式
状态模式:允许一个对象在其内部状态发生改变时改变其行为,使这个对象看上去就像改变了它的类型一样。生活中的设计模式:比如你最近你是一个减肥中的吃货,你决定每天开始跑。,但是你跑了步后总是嘴馋,所以你跟你自己默默的做了一个约定。跑小于2公里以下时,不能吃任何东西;跑2~5公里,跑完能吃一跟玉米;跑5~7公里,跑玩能吃一个苹果+一个小番薯;跑了7~10公里,能吃一个小个的汉堡包。应用场景:(1)一个...原创 2019-06-25 23:22:13 · 147 阅读 · 0 评论 -
中介模式
中介模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他妈呢之间的交互。设计要点:中介模式主要有三个角色,在设计中介模式时要找到并区分这些角色:(1)交互对象:要进行交互的一系列对象(2)中介者:负责协调各个对象之间的交互(3)具体中介者:中介的具体实现以员工入职流程为例:员工收到offer后,去公司入职。员工最终是去公司...原创 2019-06-26 23:39:33 · 169 阅读 · 0 评论 -
装饰模式
什么是装饰模式动态地给一个对象增加一些额外的职责,就拓展对象功能来说,装饰模式比生成子类的方式更加灵活。设计要点1、可灵活地给一个对象增加职责或拓展功能;2、克增加任意多个装饰;3、装饰的顺序不同,可能产生不同的效果;代码实现有一个小孩类,最初是什么技能都没有。通过学习后,学会了自己吃饭,走路,阅读等。以此为案例,使用装饰模式的设计思想实现。from abc import ABCM...原创 2019-07-30 23:51:41 · 161 阅读 · 0 评论 -
django 2.1版本安装
安装了一个晚上,发现django 对包的依赖太强了。以下是刚刚安装的环境:python 3.6.3sqlite3.8.11django 2.1.8其中 python 与 sqlite3 版本已上传百度云,如下:链接:https://pan.baidu.com/s/1fPKxr_hX63iySePiNwj9dA 提取码:ci6n django安装时 用pip 指定版本即可,如下:...原创 2019-08-30 00:13:40 · 901 阅读 · 0 评论 -
如何玩转sorted()函数
python排序中,sorted()方法是比较常用的。此方法有三个参数:iterable,key,reverse。 iterable是一个可迭代数据,常见的有列表,集合,元祖,字典。key表示用哪个值进行排序,reverse表示是升序还是降序,默认情况为升序。列表列表排序是一个最常见不过的了。a_list = [1,22,33,11,21,22,100]print(sorted...原创 2018-02-26 20:18:54 · 1484 阅读 · 0 评论 -
详述os.walk()方法
os.walk() 函数有四个入参,分别是:top, topdown=True, onerror=None, followlinks=Falsetoptop参数为walk递归的顶层路径,可取绝对路径或者相对路径。topdowntopdown参数默认为True,这是一个很有意思的参数,他的存在应该就是为了运行效率。具体来说就是:topdown=True 可更改dirnames列表...原创 2018-02-26 19:13:30 · 4326 阅读 · 0 评论 -
python装饰器的实例
下面用一个装饰器计算函数的运行时间。import timedef elapse_time(func): def cal_time(*args, **kwargs): time_before = time.time() # 运行func函数前时间 func(*args, **kwargs) time_after = time.time() #原创 2017-10-24 17:42:55 · 374 阅读 · 0 评论 -
Python调用有道web端翻译,翻译中英文
这段代码写了都好久了,最近在整理,写个文章记录一下,或许能帮助一二。 话不多说,直接上代码吧。# coding *utf-8*import urllib.requestimport urllib.parseimport jsonimport timedef postHtml(url,data,header): """提交需进行翻译的数据表单,url是有道翻译的地址,data是提交原创 2016-07-02 18:08:25 · 3815 阅读 · 0 评论 -
测试岗位面试时遇到的一些概念总结
测试用例测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等并形成文档。方法1)等价类划分、边界值 2)因果图、判定表 3)正交排列方法、场景法 4)状态转换图方法 5)测试大纲方法 如何使用边界值方法编写测试用例?如何使用等价类划分方法编写测试用例? 按照控件的数据原创 2016-07-14 21:35:17 · 2534 阅读 · 0 评论 -
python发送图片|文本|word|pdf格式的邮件
今天分享一下发送邮件。 在说今天最重要的部分之前,先说说pickle吧。 我觉得把一些隐私的数据放在pickle文件中是一个很好的方法。 比如我们今天用到的,发件人的邮箱,发件人的密码,收件人的邮箱。def dumpPickle(data, saveLocation, fileName): os.chdir(saveLocation) #文件存放的路径 with open(fi原创 2016-07-04 21:40:10 · 4997 阅读 · 2 评论 -
python+selenium识别验证码并登录
由于工作需要,登录网站需要用到验证码。最初是研究过验证码识别的,但是总是不能获取到我需要的那个验证码。直到这周五,才想起这事来,昨天顺利的解决了。下面正题:python版本:3.4.3所需要的代码库:PIL,selenium,tesseract先上代码:#coding:utf-8import subprocessfrom PIL import Image原创 2016-06-19 11:09:54 · 32345 阅读 · 8 评论 -
python怎么获取windows服务的PID
代码背景部署在windows上的测试服务器服务会由于某种原因(当然,现在是解决了)出现服务挂了的情况。由于有一定周期性,所以就写了脚本进行处理。本节主要讲的是pid的获取与取到pid后处理方式(windows)。 本次需要额外安装的库有两个:psutil,subprocess subprocess很简单,可以用pip安装。psutil安装需要VC2010++库,但是据我实测,VC2010++库就原创 2016-07-19 15:03:54 · 6214 阅读 · 0 评论 -
在windows上python3.4安装paramiko库
最近工作需要,需控制几台linux服务器做一些基本操作,网上查询库,大家都比较认可paramiko。但是在window上安装paramiko库,耗费了不少时间。做个小记录,希望大家少绕弯路。 Attention:本次安装python版本3.4 安装paramiko需要两个步骤:1.安装pycrypto 库(简单认为是:paramiko的支持库)2.安装paramiko库安装pycrypto网上找原创 2016-11-16 12:58:50 · 4606 阅读 · 1 评论 -
从FTP服务器下载文件部署更新linux服务器上的服务
作为软件测试人员,经常要发布开发的集成包。本来嘛,更新个服务,没什么大不了。但是集成包打出来,要更新的服务有9个(分别部署在三台服务器上),并且以后还会增加。如果手动更新,每次更新时间都得20分钟以上,长此以往,非常浪费时间。更新流程背景1、从一台可用FTP连接的服务器上,下载集成人员集成好的最新包。 2、解压下载的集成包,解压后,生成9个程序包,每个程序包是以.tar.gz格式压缩。 3、将9原创 2016-11-26 23:08:19 · 2088 阅读 · 0 评论 -
将文件夹内所有文件复制到指定路径
2016年马上要过去了。时光一去不复返呀! 好了不感慨了,年底了,iphone手机照片导出的时候发现照片是这样的格式:E:\DCIM\xxxAPPLE\IMG_xxx.JPG。一年下来照片多多少少也接近1000来张了。 要吧这些照片全部从各个文件夹内选出来放到一个文件夹中还是相当费劲的。那么就写一个小程序,解放ctrl+v吧!! 代码如下:#coding:utf-8import os,t原创 2016-12-31 23:15:55 · 1743 阅读 · 0 评论 -
python加压解压zip,rar文件
压缩文件,解压文件是常遇到的事情。如何处理呢?class Unrar_or_unzip: """This Class can extrac zipfile or rarfile.""" def __init__(self, file): """The arguement of file can be a file name or a file path + file原创 2017-06-05 20:17:58 · 1244 阅读 · 0 评论 -
使用xlwt将json文件,写入xls文件
json文件{"stock_hold_cycle":205,"end_date":"20170601","fare":0.0,"cost":0.0,"sell_balance":0.0,"user_id":"100000877","begin_date":"20160819","fund_account":"100000877","stock_code":"603031","buy_balance"原创 2017-08-13 13:09:42 · 1192 阅读 · 0 评论 -
xlrd与xlwt库的异同与操作
xlrd与xlwt库是python常见操作库。我刚接触时候产生过误区,任务xlrd库与xlwt选择任意一种就可以实现文件读写,然而实际并不是。xlrd与xlwt库的相同点都支持对Excel文件格式为xls(对别的文件不甚了解)文件进行操作的。xlrd与xlwt库的不同点xlrd只支持对Excel文件格式为xls文件的读取 xlwt只支持对Excel文件格式为xls文件的写入xlwt库的写操作imp原创 2017-08-13 17:20:03 · 4948 阅读 · 0 评论 -
python三行代码实现数据库创表字段的大小写转换
需求最近需要创建几个库,源sql是从oracle数据库导出的,需写入到mysql数据库内。oracle所有字段都是大写的,但是mysql所有字段都是小写的。为统一,mysql数据库的字段都需要是小写的。 例如:有这么一个表 his_price表,oralce导出sql是这样的:CREATE TABLE `his_price` ( `EXCHANGE_TYPE` varchar(4) NOT N原创 2017-08-14 14:40:00 · 786 阅读 · 0 评论 -
python 验证码识别
登录网站,遇到验证码如何处理? 一、 在输入验证码框内,通过人眼识别,手动输入验证码。 二、 通过对验证码进行识别,让程序去处理。 利弊分析: 手动输入的利与弊 利:介于light平台的验证码并不复杂,可以认为,手动输入验证码的准确率是100%。 弊:碰上验证码都需要手动输入,无疑会占用一点点时间。 程序处理的利于弊: 利:这一点不必多说,完全自动化。 弊:程序识别验证码准确率原创 2017-08-14 17:23:36 · 7455 阅读 · 1 评论 -
如何将多个excel文件合并成一个
最近遇到需要将多个xls文件合并到一个新的xls文件内,每个xls文件对应新xls文件的一个sheet。考虑到以后可能会经常用到这个合并操作,故写了一个脚本,解放双手。 具体代码如下:导入库import xlrd, xlwtimport os创建xls写入对象def create_xls(): """创建xls文档对象""" wt = xlwt.Workbook() #原创 2017-09-08 18:51:44 · 8310 阅读 · 0 评论 -
替换文件内指定字符串
最近需要对文件内的某字符串(source)替换成另一字符串(target)。 手动改其实也很简单方便,但是简单耐不住文件多。当需要二三十个sql文件需要替换里面的字符串(source)为字符串(target)时,写个脚本是个不错的想法。尤其是,每个文件需要替换的字符串是相同的。 如下:单字串符替换def replace_txt(file, source, target): """替换文件原创 2017-09-18 17:23:46 · 2097 阅读 · 0 评论 -
python执行sql文件
最近遇到一对需要执行的sql文件,sql文件内是insert 语句。如下:INSERT INTO hs_his.stock_industry VALUES ('采掘', '000006', '深振业A');INSERT INTO hs_his.stock_industry VALUES ('采掘', '000409', '山东地矿');INSERT INTO hs_his.stock_indus原创 2017-09-19 16:25:39 · 29754 阅读 · 2 评论 -
python如何给字典的键对应的值为字典项的字典赋值
之前有一个脚本,需要得到一个类似{“demo”:{“key”:”value”}}这样格式的字典dic。 当时犯了一会傻,才缓过神来。因此记录,希望不会再犯。 当时的误操作就不说了,如何实现上述字典dic,我的解如下:dic = dict()dic_temp = dict()dic_temp = {"key":"value"}dic["demo"] = dic_temp原创 2017-10-01 21:29:26 · 10752 阅读 · 0 评论 -
python configparser库简介
随着脚本复杂程度增加, 配置文件成了必不可少。之前一直使用json文件,当作配置文件。比较之下,configparser 库更加适合。下述文件为一个简单的configparser库的配置文件config.ini[testdb]db_port = 3306db_host = 127.0.0.1db_user = rootdb_passwd = 123456# remark[zhf...原创 2019-09-18 15:20:47 · 730 阅读 · 0 评论