python
小菜菜1223
qq846792646
展开
-
python脚本补充两个日期之间的hive数据
#coding:utf-8import osimport datetime#获取之后日期def get_day(st,dt,format="%Y%m%d"): day = st + datetime.timedelta(days=dt) return day.strftime(format)#日期格式转换def format_date(t): return datetime.date(int(t[0:4]),int(t[4:6]),int(t[6:]))#执行.原创 2022-02-22 14:16:20 · 185 阅读 · 0 评论 -
Python检测hive依赖表是否生成
提要:1、每天利用python执行hive sql脚本2、执行前检测依赖表是否生成3、依赖表如果生成成功会touch一个success文件到hdfs目录4、循环检测一定次数,失败抛出异常上代码:#coding:utf-8#@auth: lgyimport datetimeimport subprocessimport timeimport sys#获取昨天日期def get_yesterday(format="%Y%m%d"): today = datet原创 2022-01-17 15:45:56 · 940 阅读 · 0 评论 -
python2 连接hdfs 解决kerberos认证
首先安装包:pip2 install hdfspip2 install requests_kerberos然后代码认证from hdfs.ext.kerberos import KerberosClientclient = KerberosClient('http://xx.xx.xx.xx:50070', hostname_override="bj-gc3-arch-hadoop-namenode-01") client.list('/user')...原创 2021-11-04 16:39:31 · 874 阅读 · 0 评论 -
python 接受ctrl c结束子进程,subprocess.Popen杀死子进程
场景:Python 脚本开启子进程执行,例如执行hive等等,通过接受ctrl c 能够将子进程一起杀死。代码:#coding:utf-8import datetimeimport timeimport subprocessimport signalimport oscmd = ['ping', 'www.baidu.com']#开启子进程 preexec_fn设置为进程组p = subprocess.Popen(cmd, preexec_fn=os.setsid)#接原创 2021-09-28 11:09:44 · 3546 阅读 · 0 评论 -
python 连接kafka kafka.errors.NoBrokersAvailable: NoBrokersAvailable
今天搭建单机kafka报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable这里我们打开配置文件/usr/local/etc/kafka/server.properties打开并修改配置:# returned from java.net.InetAddress.getCanonicalHostName().advertised.listeners=PLAINTEXT://127.0.0.1:9092保存退出运行jps杀掉kafk..原创 2021-04-22 10:31:08 · 2539 阅读 · 0 评论 -
解决sys.stderr.write(f“ERROR: {exc}“) ,卸载重装pip
今天在mac安装python2.7 安装pip报了这个错,记录一下解决办法。报错原因建议百度,是因为pip版本过高1、sudo rm /usr/local/bin/pip2、sudo easy_install pip==20.2.2搞定~原创 2021-04-21 17:51:16 · 7257 阅读 · 2 评论 -
python 数组两两组合或者多个组合
import itertoolslis = [1,2,3,4,5]print list(itertools.combinations(list(lis),2))原创 2021-03-05 14:30:06 · 2770 阅读 · 0 评论 -
python happybase Hbase 批量读取
批量读取已确定key列表的值,模糊批量貌似不会~hbase_con = happybase.Connection('172.')hbase_tb = hbase_con.table('')rs = [key1, key2, key3]info = hbase_tb.rows(rs)for i in info: pass原创 2021-03-04 20:49:18 · 473 阅读 · 1 评论 -
python django 下载多个文件,接收多个文件
一、首先是通过api接收前端上传的多个文件def receive_resume_appendix(request): """ 接收简历附件 """ if request.method == 'POST': files = request.FILES.getlist('files') for f in files: destination = open('%s/%s' % (user_dir, f.name), 'w原创 2021-03-04 20:43:04 · 2537 阅读 · 6 评论 -
python 去除文本中的标点符号
直接上代码import redef removePunctuation(self, content): """ 文本去标点 """ punctuation = r"~!@#$%^&*()_+`{}|\[\]\:\";\-\\\='<>?,./,。、《》?;:‘“{【】}|、!@#¥%……&*()——+=-" content = re.sub(r'[{}]+'.format(punctuati原创 2021-03-04 20:35:38 · 2786 阅读 · 1 评论 -
python 获取当月日期列表
直接上代码#coding:utf-8import calendardef get_daylis(year, month): """ 获取当月日期列表 parameter: month 202011 return: [20201101,...,20201130] """ day_lis = [] for day in range(calendar.monthrange(year, month)[1] + 1原创 2021-01-27 22:28:27 · 1122 阅读 · 0 评论 -
python 面试、笔试题目(基础篇二)
一、生日悖论问题:当房间中人数n超过23时,那么该房间中有两个人的生日相同的可能性是一半以上。请用Python设计程序证明。解析:两个人生日不同的概率:364/365n个人互相组合:n*(n-1) / 2所以n个人互相组合并且生日不同:(364/365)* (n*(n-1)/2)def birth_age(num): import math prop = 1 - math.pow((364.0 / 365.0), (num * (num - 1) / 2)) r原创 2020-11-16 11:12:24 · 170 阅读 · 0 评论 -
python 计算箱线图、中位数、上下四分位数等
话不多说,如图上代码#数组都是按从小到大排过序的#计算中位数def count_median(lis): if len(lis) % 2 == 0: mid = float((lis[len(lis) / 2] + lis[len(lis) / 2 - 1])) / 2 else: mid = lis[len(lis) / 2] return mid#计算上下四分位数def count_quartiles(lis): ..原创 2020-09-04 11:24:30 · 8056 阅读 · 2 评论 -
python redis 轮询读取全部数据
应用场景:需要读取redis中的全量数据,数据量过大,无法一次性读取def get_device_type(): snap_r = redis.Redis(host=self.snap_host, password=self.snap_password, db=self.snap_db, port=self.s原创 2020-08-31 16:13:21 · 1456 阅读 · 0 评论 -
python 写入CSV
#coding:utf-8import timeimport jsonimport csvclass MadeCsv: def __init__(self, filename, title, data): self.filename = filename self.title = title self.data = data self.filepath = '/root/guangyi/risk_api/risk_api/.原创 2020-07-21 10:42:29 · 180 阅读 · 0 评论 -
Python Boss
1、cookie经常更换2、请求速度进行限制3、请求地址在js里#coding:utf-8import jsonimport timeimport urllibimport urllib2import refrom bs4 import BeautifulSoupimport requests #__author__='小菜菜1223' def run(h,...原创 2020-05-07 10:22:48 · 3792 阅读 · 0 评论 -
Python redis导出与导入
导出:r = redis.Redis(host = RDSHOSTADDR,password= RDSPWDADDR , db=RDSDBADDR)h = open('redis.txt', 'w')def redis_scan(): cursor = 1 isNoe = True while cursor != 0: if isNoe: ...原创 2020-03-24 21:43:57 · 839 阅读 · 0 评论 -
Linux 快速安装Python MySQLdb包
yum install python-devel mysql-develpip install MySQL-python原创 2020-03-24 11:34:53 · 462 阅读 · 0 评论 -
python 剑指offer(四)变态跳台阶
题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解析易知 f(n)=f(n-1)+f(n-2)+……f(1)f(n-1)=f(n-2)+……f(1)两式相减得f(n)=2f(n-1)# -*- coding:utf-8 -*-class Solution: def jumpFloorII(...原创 2020-03-04 17:51:05 · 108 阅读 · 0 评论 -
python 剑指offer(三)斐波那契数列
题目大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here if n == 0: return 0...原创 2020-03-04 16:24:51 · 99 阅读 · 0 评论 -
python 剑指offer(二)重建二叉树
树的遍历方式题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解析:根据中序遍历和前序遍历可以确定二叉树,具体过程为:根据前序序列第一个结点确定根结点 根据根结点在中序序列中的位置分...原创 2020-03-04 16:02:41 · 102 阅读 · 0 评论 -
python 剑指offer(一)从尾到头打印链表
链表的定义链表的定义:是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接链表的结构:data为自定义的数据,next为下一个节点的地址。基本元素:节点:每个节点有两个部分,左边称为值域,存放用户数据;右边部分称为指针域,用来存放指向下一个元素的指针。 head:head节点永远指向第一个节点 tail: tail永远指向最后一个节点...原创 2020-03-04 10:59:44 · 140 阅读 · 0 评论 -
python 游戏脚本制作(一)autopy包的使用
目前主流的游戏外挂或者脚本的制作方式主要有:1、利用CE等修改内存中的值,使游戏里的属性或者金币增加。主要适用于单机游戏。2、利用自动点击脚本模拟人进行点击,完成每日任务等。主要适用于回合制网游。3、大型网络游戏脚本,比如LOL自动躲技能脚本,原理是截取数据包,然后识别技能范围、路线,进行躲避规划。 首先我们先开始学习做类型2的脚本,这类脚本通常是通过定位坐标去寻找任务或者活动的...原创 2020-02-28 16:45:49 · 4274 阅读 · 1 评论 -
Linux Django + Uwsgi + Nginx API开发
1、Django使用sudo yum install django==1.5.1 (指定版本号)setting:修改时区以及跨域views:编写接口urls:配置路由2、Uwsgi使用安装:sudo pipinstall uwsgi使用:在manage.py 同路径下 sudo vim uwsgi.ini 编写新文件#添加配置选择[uwsgi]#配置和ngin...原创 2019-12-26 14:56:14 · 288 阅读 · 0 评论 -
python python3 爬虫模板、爬虫功能大全
欢迎补充、欢迎点赞~~~#coding:utf-8import timeimport jsonimport randomimport requestsimport reimport osclass Spider: def __init__(self, main_url): self._main_url = main_url def ...原创 2019-10-23 20:18:44 · 338 阅读 · 0 评论 -
python requests解决图片视频音频下载、文件上传、获取cookies、使用ip代理、解决弹窗身份验证、忽略ssl
#coding:utf-8import requests#简单使用def demo(): r = requests.get('https://www.baidu.com') print (type(r)) print (r.status_code) #打印状态码 #print (r.text) #打印html内容 print (r.cookies)...原创 2019-10-23 17:57:47 · 839 阅读 · 0 评论 -
python bs4/BeautifulSoup TypeError: an integer is required
前提: 今天在使用bs4做爬虫的时候使用的IDLE进行的桌面爬虫 执行了一段代码: 看似很简单的代码,报错了:找到了原因,这是IDLE的BUG,这样解决:print unicode(name)print str(name)...原创 2019-09-06 09:06:55 · 157 阅读 · 0 评论 -
python openpyxl openpyxl处理Excel介绍对比xlrd、xlwt以及设置固定样式
最近在使用openpyxl 处理Excel 在这里简单介绍一下本人处理Excel只用过xlrd xlwt以及openpyxl相比xlrd xlwt,openpyxl包的处理速度相对较慢openpyxl的优点:可以处理xlsx文件,xlrd、xlwt只能处理xls 可以写入单页sheet超过65535行,xlwt不行 ...原创 2019-09-16 11:08:12 · 557 阅读 · 0 评论 -
python openpyxl处理Excel表公式问题、保留公式、读取公式结果、部分sheet保留公式解决方案
最近用openpyxl处理Excel表遇到了小问题:sheet分为总表与字表,总表要保留字表的公式时、字表中要读取数据此博文解决:1、如何有的sheet保留公式、有的不保留2、如何读取公式、如何读取公式结果读取公式:from openpyxl import Workbook, load_workbook#读取公式的结果self.wb = load_workbook(...原创 2019-09-16 11:24:14 · 13552 阅读 · 3 评论 -
Django前后端传值(转)
Django 前后台的数据传递的方法Django 从后台往前台传递数据时有多种方法可以实现。最简单的后台是这样的:1234from django.shortcuts import render def main_page(request): return render(request, 'index.html')这个就是返回index.html的内容,但是如果要带一些数据一起传给前台的话,该怎么...转载 2018-07-10 13:32:31 · 1305 阅读 · 4 评论 -
python 操作redis、redis批量操作
首先安装redis的相关包:pip install redis连接redis:RDSHOST = "10.10.10.10" #服务器地址RDSPWD = "******" #密码RDSDB = 14 #库r = redis.Redis(host = RDSHOST,password = RDSPWD,db=RDSDB,port=6379)#获取全部的keyva...原创 2019-09-05 11:36:26 · 1737 阅读 · 0 评论 -
Python UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148:
前提:最近在做爬虫的时候r=requests.post('http://zhongrui.101test.com/store/getQuestions',headers=headers,json=data)html = json.loads(r.text)title = i['choice']['title'].strip('<pre>').strip('</p...原创 2019-09-05 09:25:58 · 563 阅读 · 0 评论 -
python 将excel、xlsx转换成csv 合并csv
1、xlsx转换成csvimport xlrdimport csvimport codecsdef xlsx_to_csv(): workbook = xlrd.open_workbook('test.xlsx') table = workbook.sheet_by_index(0) with codecs.open('test.csv', 'w', enc...原创 2019-09-02 19:15:57 · 1207 阅读 · 0 评论 -
python hdfs.client
前言HDFS主要用来存储文件系统安装pip install hdfs使用from hdfs.client import Clientclient = Client(HDFSHOST,root="/",timeout=900,session=False) #连接hdfs参数说明:classhdfs.Client(url, root=None, proxy=No...原创 2018-04-28 14:14:01 · 4882 阅读 · 0 评论 -
python 装饰器简单理解使用
import timedef forma(fn): def do_fn(*args,**kwargs): print time.time() fn(*args,**kwargs) print time.time() return do_fn@formadef fn1(a, b): print a+bfn1(...原创 2019-07-22 15:07:08 · 82 阅读 · 0 评论 -
python openpyxl 处理Excel 动态插入行、列
openpyxl插入行列在最近的几个版本增加了这种方法,使用了一下,发现并不会复制左边列或者上边行的格式,这个真的是让人难受,去官网查了一下方法以及源码,发现它其实是调用的Move方法,这是个位移的方法,相当于把插入行后边所有的行向右整体位移,列也同理,所以没办法,只能想法处理这种。第一种解决办法:将所有数据读取成数组,一行一个数组,然后写入新表缺点:需要将所有不同行的格式进行整理...原创 2019-09-16 11:35:58 · 15041 阅读 · 9 评论 -
python openpyxl ValueError: Value does not match pattern ^[$]?([A-Za-z]{1,3})[$]?(\d+)(:[$]?
这种问题是因为sheet名称有问题,一般是名字两边有空格?解决:新建一个sheet,然后查看代码,输进去这些,一运行就出来了Sub listSheetName()i = 1For Each sSheet In Application.SheetsCells(i, 1).Value = sSheet.Namei = i + 1NextsSheetEndSub获取到所有...原创 2019-09-16 11:39:47 · 7034 阅读 · 7 评论 -
python 爬虫忽略不信任证书
当爬虫遇到了像12306这种不信任证书的情况时,一般爬取会返回证书异常,因为12306的证书是自己颁发的而不是CA的。解决:from urllib.request import Request, urlopenimport sslrequest = Request('http://www.12306.cn/normhweb')request.add_header( 'U...原创 2019-09-29 15:39:50 · 988 阅读 · 0 评论 -
python 排序(三)归并排序
一、介绍归并排序与快速排序都是利用了分治的策略基本原理与思想:1、将一个序列从中间位置分成两个序列2、将两个子序列重复第一步的操作,直到所有子序列长度为一3、将所有子序列进行归并,每两个序列比较第一个元素的大小,将小的拿出来二、代码实现def merger(a, b): c = [] h = j = 0 while j < len(a) ...原创 2019-09-27 09:19:50 · 241 阅读 · 0 评论 -
python 排序(二)堆排序
一、简介堆:堆栈是计算机的两种最基本的数据结构,堆的特点是先进先出,栈是后进先出。堆其实可以理解成树的结构。堆在接受数据时先接收的数据会被先弹出。栈处于一级缓存而堆处于二级缓存中。 堆是一颗顺序存储的完全二叉树,有大根堆和小根堆。 大根堆:每个结点的key不小于其孩子结点的key,反之则是小根堆堆排序的思想:本质是使用大根堆或小根堆来对一个数组进行排序操...原创 2019-09-26 16:41:44 · 141 阅读 · 0 评论