pythoncx_Oracle模块的安装最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQLSharding集群,在linux下安装cx_Oracle感觉还是有一点麻烦的,整理一下,做个总结。对于Oracle客户端,不只需要安装相应的python模块(这里我用了Oracle官方的python模块――cx_Oracle),还需要安装OracleClient,一般选择InstantClient就足够了,还需要配置tnsnames.ora(当然
系统 2019-09-27 17:56:39 2435
Python爬取拉勾网实例#-*-.coding:utf-8-*-#__author__='xiaobai'#Email:517840374@qq.comimporttimeimportrefromselenium.webdriverimportChrome#导入浏览器的包fromselenium.webdriver.common.keysimportKeysn=1#创建浏览器web=Chrome()#打开浏览器,请求到拉钩web.get("https:/
系统 2019-09-27 17:53:26 2435
今天群里有个伙计问,怎么用python统计Nginx日志访问次数前十的IP才能快一些,他表示自己使用的方式是将日志前面的IP全部放在列表中,然后通过列表的count方法来统计的,起初都还好,但是当日志量一大就很慢,问有没有啥好的方法可以解决!当然有,可以使用python的字典来加快速度,下面的日志文件是我用代码模拟生成的:#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2019/5/2210:27#@Author
系统 2019-09-27 17:52:27 2435
基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,事实上,开发GUI应用并不是
系统 2019-09-27 17:50:49 2435
base64数据加密,是一种可逆的编码格式,生成的编码是ascii格式的数据,通过encode加密,decode解密。原理:1、将所有字符转化为ASCII码。2、将ASCII码转化为8位二进制。3、将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位。4、统一在6位二进制前补两个0凑足8位。5、将补0后的二进制转为十进制。6、从Base64编码表获取十进制对应的Base64编码。importbase64classEncodeDecod
系统 2019-09-27 17:50:29 2435
目录简介Cookie出现原因实现原理Cookie操作cookie+session总结:简介前几节的介绍中我们已经有能力制作一个登陆页面,在验证了用户名和密码的正确性后跳转到后台的页面。但是测试后也发现,如果绕过登陆页面。直接输入后台的url地址也可以直接访问的。这个显然是不合理的。其实我们缺失的就是cookie和session配合的验证。有了这个验证过程,我们就可以实现和其他网站一样必须登录才能进入后台页面了。先说一下这种认证的机制。每当我们使用一款浏览器
系统 2019-09-27 17:49:13 2435
f-string格式化的字符串,是字符串格式化的一种,而且是最新的一种。这里收集的是它的一些基本用法。没有限定宽度的写法:f"xxxx{替换字段}xxx";可以有多个替换字段。对于数字,字符串转换时可以使用限定宽度。f"xxx{转换字段:限定符号}xxx"。可以有多个替换字段。使用和注意事项收集:转换字段不能为空(不能是空的表达式);1)如果写了一个空的字段,有些编辑器会有红线提示。例如pycharm。2)空,不是指的空数据类型;例如可以是空字符串,空列表
系统 2019-09-27 17:49:09 2435
在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候进程池Pool发挥作用的时候就到了。Pool可以提供指定数量的进程,供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行
系统 2019-09-27 17:48:11 2435
最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序。这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单。百度登录还是有点麻烦的,由于用的ssl,所以要先获取token,然后再登录,这个用finddle2分析下,还是比较好解决的。#-*-coding:utf8-*-importurllib2importurllibimportcookielibimportreimportbs4URL_BAIDU_IND
系统 2019-09-27 17:38:35 2435
时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。时间序列构成要素:长期趋势,季节变动,循环变动,不规则变动长期趋势(T)现象在较长时期内受某种根本性因素作用而形成的总的变动趋势季节变动(S)现象在一年内随着季节的变化而发生的有规律的周期性变动循环变动(C)现象以若干年为周期所呈现出的波浪起伏形态的有规律的变动不规则变动(I)是一种无规律可循的变动,包括严格的随机
系统 2019-09-27 17:32:53 2435
1merge()merge()默认的是按照各个表中列名重叠列进行内连接(how=‘inner’),参数如下:merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False)其中:on指定合并时依据的列名,单列时
系统 2019-09-27 17:55:23 2434
·迭代器什么是迭代器:迭代器可以让我们访问集合的时候变得非常方便。之前我们通过for…in…来访问一个集合的时候,就是使用迭代器完成的。如果没有迭代器,那么我们只能通过while循环,每次循环的时候通过下标来访问了。可迭代对象:可以直接使用for循环遍历的对象,成为可迭代的对象,常见的可迭代对象有:list、tuple、dict、set、str以及生成器更加专业的判断一个对象是否是可迭代对象:这个对象有一个__iter__方法,并且这个方法会返回一个迭代器
系统 2019-09-27 17:54:21 2434
需求:爬取搜狗首页的页面数据importrequests#1.指定urlurl='https://www.sogou.com/'#2.发起get请求:get方法会返回请求成功的响应对象response=requests.get(url=url)#3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据page_data=response.text#4.持久化数据withopen("sougou.html","w",encoding="
系统 2019-09-27 17:53:10 2434
点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标摘要:分享个Python神工具。长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。下面就来给大家介绍一款Python编写的神工具,可以一键分析你的上
系统 2019-09-27 17:51:40 2434
本文借鉴于张广河教授主编的《数据结构》,对其中的代码进行了完善。从某源点到其余各顶点的最短路径Dijkstra算法可用于求解图中某源点到其余各顶点的最短路径。假设G={V,{E}}是含有n个顶点的有向图,以该图中顶点v为源点,使用Dijkstra算法求顶点v到图中其余各顶点的最短路径的基本思想如下:使用集合S记录已求得最短路径的终点,初始时S={v}。选择一条长度最小的最短路径,该路径的终点w属于V-S,将w并入S,并将该最短路径的长度记为Dw。对于V-S
系统 2019-09-27 17:50:54 2434