自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

loco_python

人生苦短,我学python,自己的python笔记和心得会发出来

  • 博客(39)
  • 收藏
  • 关注

原创 hive之Load data引发的思考

hive 之 Load data xxx 引发的思考一 背景?load data 可以将本地文件或者hdfs文件加载到hive表中,很方便。hive sql 走的是mr,对内存占用不是很大,主要依赖磁盘性能,这也毋庸置疑。考虑到测试环境的内存并不是很充足。所以我想采用load data 进行数据的加载。虽然性能比起来, mr没有spark快。由于是T+1的,所以我还是能接受的。PS: 谁让咱穷呢。二 文件去哪了?算盘已经打好。准备开撸了。数据源是来自api上报生成日志文件,通过flume写入到hdf

2021-08-18 11:16:25 1707

原创 Django和Flask中的CORS解决方案

一、跨域CORS位置域名前端服务127.0.0.1:8080后端服务127.0.0.1:8000前端与后端分处不同的域名,这就涉及到跨域访问数据的问题,因为浏览器的同源策略,默认是不支持两个不同域间相互访问数据,而我们需要在两个域名间相互传递数据,这时我们就要为后端添加跨域访问的支持。二、django中解决CORS方法1、安装:pip instal...

2019-07-08 20:04:22 2028 2

原创 python内置函数-sorted()

sorted>>> help(sorted)Help on built-in function sorted in module __builtin__:sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list(一)sorted(iterab...

2018-03-07 20:42:16 1362 4

原创 python模块-uuid

uuid(一)介绍 UUID是128位的全局唯一标识符,通常由32字节的字符串(十六进制)表示。他可以表示时间和空间的唯一性,也称GUID。(二)五大算法1、uuid1()是一个基于时间戳,由MAC地址、时间戳、随机数生成,他可以确保全球唯一性,由于MAC地址的使用带来了安全性问题,局域网中可以使用IP来代替MVC。print uuid.uuid1() ...

2018-03-07 20:16:04 530

原创 python高級-代码优化

一、函数返回值缓存class memoization: known = dict() '''用这个装饰耗时0.5秒''' def __init__(self, fn): self.fn = fn def __call__(self, *args): if args not in self.known: ...

2018-03-07 16:27:41 226

原创 python模块-cProfile和line_profiler(性能分析器)

一、cProfile介绍cProfile自python2.5以来就是标准版Python解释器默认的性能分析器。其他版本的python,比如PyPy里没有cProfile的。cProfile是一种确定性分析器,只测量CPU时间,并不关心内存消耗和其他与内存相关联的信息。二、支持的API(一)run(command, filename=None, sort=-1)第一种情况...

2018-03-06 17:34:44 33543 4

原创 Linux-进程管理工具supervisor

supervisor一、简介Supervisor 就是用 Python 开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台 daemon,并监控进程状态,异常退出时能自动重启。但是只能运行在 Unix-Like 的系统上,不能运行在 Windows 上。Supervisor 官方版目前只支持 Python 2.4 以上版本,但是还无法运行在 Python 3 上。supervi...

2018-03-05 20:22:21 456

原创 python模块-functools

functools(一)partialIn [1]: int('10', 10)Out[1]: 10In [2]: int('10', 2)Out[2]: 2In [3]: from functools import partialIn [4]: p_int = partial(int, 10)In [5]: p_int('10')----------------...

2018-03-05 16:44:17 196

转载 python设计模式-策略模式

策略模式(一)排序问题 大多数问题都可以使用多种方法来解决。以排序问题为例,对于以一定次序把元素放入一个列表,排序算法有很多。通常来说,没有公认最适合所有场景的算法(请参考网页。一些不同的评判标准能帮助我们为不同的场景选择不同的排序算法,其中应该考虑的有以下几个。需要排序的元素数量:这被称为输入大小。当输入较少时,几乎所有排序算法的表现都 很好,但对于大量输入,只有部分算法具有...

2018-03-05 16:08:10 144

原创 python设计模式-责任链模式

责任链模式(一)什么事责任链 责任链(Chain of Responsibility)模式用于让多个对象来处理单个请求 时,或者用于预先不知道应该由哪个对象(来自某个对象链)来处理某个特定请求时。(二)责任链原则存在一个对象链(链表、树或任何其他便捷的数据结构)。我们一开始将请求发送给链中的第一个对象。对象决定其是否要处理该请求。对象将请求转发给下一个对象。...

2018-03-05 15:06:07 248

转载 python设计模式-代理模式

代理模式(一)什么是代理模式 Proxy模式是一种常用的设计模式,它主要用来通过一个对象(比如B)给一个对象(比如A) 提供’代理’的方式方式访问。比如一个对象不方便直接引用,代理就在这个对象和访问者之间做了中介。(二)应用案例class Proxy(object): def __init__(self, subject): self.__subj...

2018-03-05 13:27:51 149

转载 python设计模式-享元模式

享元模式(一)什么是享元模式 享元设计模式通过为相似对象引入数据共享来最小化内存使用,提升性能(请参考网页。(二)使用场景系统中存在大量的相似对象时,可以选择享元模式提高资源利用率。咖啡订购平台比较小,若假设一个电商平台,每个买家和卖家建立起买卖关系后,买家对象和卖家对象都是占用资源的。如果一个卖家同时与多个买家建立起买卖关系呢?此时享元模式的优势就体现出来了;需要缓冲池...

2018-03-05 13:09:20 229

转载 python设计模式-外观模式

外观模式(一)什么是外观模式 为子系统中的一组接口提供一个一致的界面。此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。(二)设计思想一个子系统由很多功能模块组成这些功能模块分别对外暴露自己的访问接口这些功能模块联合起来对外提供该子系统的完整功能此时定义一组新的接口,将该子系统的所有模块封装起来,统一对外提供接口这个全新的接口就是原有子系统的外观...

2018-03-05 11:37:26 161

原创 python设计模式-适配器模式

适配器模式(一)什么是适配器模式 适配器模式(Adapter pattern)是一种结构型设计模式,帮助我们实现两个不兼容接口之间 的兼容。(二)适配器# -*- coding: utf-8 -*-class Dog: '''这是一个原始类''' def __init__(self): self.name = 'wangcai' d...

2018-03-05 10:48:42 217

原创 python设计模式-生产者与消费者模式

生产者与消费者模式(一)什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。 这个阻塞队列就是用来给生产者和消费...

2018-03-03 17:41:51 632 1

原创 python设计模式-单例模式

单例模式(一)什么是单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。(二)实现单例的方法导入模块使用new方法使用装饰器(三)模块 Python 模块在第一次导入时,会生成 .pyc 文件,当第二次导入...

2018-03-03 16:52:43 205

原创 python设计模式-原型设计

原型模式设计(一)什么是原型设计模式 原型设计模式(Prototype design pattern)帮助我们创建对象的克隆,其最简单的形式就是一 个clone()函数,接受一个对象作为输入参数,返回输入对象的一个副本。在Python中,这可以 使用copy.deepcopy()函数来完成。(二)应用案例当我们已有一个对象,并希望创建该对象的一个完整副本时,原型模式就派上用...

2018-03-03 15:04:46 255

原创 python设计模式-建造者模式

建造者模式(一)什么是创造者模式 我们想要创建一个由多个部分构成的对象,而且它的构成需要一步接一步地完成。 只有当各个部分都创建好,这个对象才算是完整的。这正是建造者设计模式。快餐店:从点餐到取餐网页构建器:创建具有不同布局的HTML页面文档转换器,用户界面表单创建工具等(二)工厂模式和建造者模式区别工厂模式以单个步 骤创建对象,而建造者模式以多个步骤创建对象,...

2018-03-03 14:24:11 273

转载 python设计模式-工厂模式

一、工厂方法(一)工厂模式运用场景如果因为应用创建对象的代码分布在多个不同的地方,而不是仅在一个函数/方法中,你发 现没法跟踪这些对象,那么应该考虑使用工厂方法模式。有一个工厂方法负责连接到不同的数据库(MySQL、SQLite)。另一个工厂方法负责创建要求的 几何对象(圆形、三角形)。若需要将对象的创建和使用解耦,工厂方法也能派上用场。工厂方法可以在必要时创建新的对象,从...

2018-03-03 13:46:55 150

原创 python基础-文件操作

一、文件权限 访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。如果文件不存在,则报错 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。写入的内容必须为字符串 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后...

2018-03-02 14:01:42 204

原创 python模块-re

一、结合match匹配任意字符串(一)匹配单个字符串 字符 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 \S 匹配非空白 \w 匹配单词字符,即a-z、A-Z、0-9、_...

2018-03-01 16:31:16 345

原创 python基础-format格式化

一、str.format()>>> "{} {}".format("hello", "world") # 不设置指定位置,按默认顺序'hello world'>>> "{0} {1}".format("hello", "world") # 设置指定位置'hello world'&am

2018-03-01 15:58:50 470 1

原创 python模块-itertools

一、itertools(itertools 模块提供了很多用于产生多种类型迭代器的函数,它们的返回值不是 list,而是迭代器。) Python 内置的 itertools 模块包含了一系列用来产生不同类型迭代器的函数或类,这些函数的返回都是一个迭代器,我们可以通过 for 循环来遍历取值,也可以使用 next() 来取值。二、无限迭代器(一)count() 接收两个参数,...

2018-03-01 14:07:23 574

原创 python封装-mongo数据写入json文件和csv文件

# -*- coding:utf-8 -*- # Author: loco_pythonimport jsonimport csvimport sysreload(sys)sys.setdefaultencoding('utf-8')from pymongo import MongoClientdef mongodb_to_json(): client = MongoC...

2018-03-01 11:53:37 1485

原创 python基础-深拷贝、浅拷贝

一、“==”和 is“==”是比较两个对象是否相等,而不管是不是指向同一个地址is 是指不仅对象相等,而且指向的内存地址也相等。。(小整数对象池除外)二、浅拷贝和深拷贝浅拷贝:a = [1, 2, 3] b = a 拷贝后id(a)和id(b)相等。深拷贝:拷贝的内容相同,地址不用。 import copy c = copy.deepcopy(a...

2018-02-28 15:25:15 144

原创 python基础-类

一、继承# 1、继承:如果一个类里面的属性和方法可以复用,则通过继承的方式传递到另一类里# 2、父类:基类# 3、子类:派生类class Master(object): def __init__(self): self.gong_fu = "古法煎饼果子配方" def make_cake(self): print("按照<%...

2018-02-28 15:18:48 128

原创 python模块-collections

一、Counter (主要用来做统计)from collections import Counterc = Counter('abcdeabcdabcaba')print c.most_common(3)# [('a', 5), ('b', 4), ('c', 3)]print sorted(c.elements())# ['a', 'a', 'a', 'a', 'a', 'b',...

2018-02-28 09:50:47 180

转载 python封装-mongoengine分页

mongoengine分页# -*- coding: utf-8 -*-import mathfrom mongoengine.queryset import QuerySet__all__ = ("Pagination")class Pagination(object): """ This is class for paginate """ ...

2018-02-27 16:29:02 1698

原创 文件格式-YAML

Yaml一、简介(一)YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。(二)基本规则大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可(三)支持的数据结构对象:键值对的集合,又称为映射(mapping)/ 哈希(h...

2018-02-27 16:23:57 658

原创 python模块-traceback

tracback异常信息try: 1 / 0except Exception as e: print e输出结果为:integer division or modulo by zero以上的异常信息输出结果没有告诉你报错的位置。import tracebacktry: 1 / 0except Exception as e: ...

2018-02-27 16:10:12 511

原创 python基础-异常

一、异常的处理# 异常用来处理,可能会出现问题的代码# 将代码放到try里面去执行,如果代码出现异常,则立刻跳转except去处理# try 里尽量只有一行可能出现问题的代码,再去执行try: # a = 1 / 0 f = open("text.txt", "r")except FileNotFoundError as e: print(e)except...

2018-02-27 16:07:04 185

原创 python基础-闭包、装饰器

一、闭包(在闭包中调用需要装饰的函数,就成了装饰器)(一)闭包的概念内层函数总是返回外层函数的引用。内层函数以及引用的环境变量的整体称作闭包在函数内部定义一个函数,并且这个函数用到了外部函数的变量,那么这个函数,以及用到的一些变量称之为闭包。(二)闭包的实例# 外部函数中的a和b称之为环境变量或者自由变量def line_conf(a, b): def...

2018-02-27 15:51:16 216

原创 python基础-生成器,迭代器

一、迭代器(一)可迭代对象迭代:能被for in 循环取值的过程叫做迭代。字典是无序的。可迭代对象:凡是能用for in 遍历或者说迭代的类型都是可迭代对象。如何判断一个对象是可迭代对象from collections import Iterable# 1、列表,元祖,字典,字符串,集合,迭代器都是可迭代对象,res = isinstance([], Iterable)...

2018-02-27 15:27:59 157

原创 python基础-递归

一、递归(Recursion)递归就是在函数里调用自身必须有一个明确的递归结束条件,称为递归出口。(回归)二、迭代和递归#### 迭代def factorial(n): result = 1 for i in range(2, n+1): result *= i return resultfactorial(1) # 1...

2018-02-27 14:54:19 135

原创 python基础-函数

一、函数参数使用(一)return的用法def Fun1(x, y): return x + y# ②这句话没有执行,上面的return已经结束函数执行 print("看看执行了没有")result = Fun1(5,6)# ①返回一个数据,给函数调用的地方print(result)# ③如果return后没有数据,则默认返回,返回值为none(二)位置参...

2018-02-27 14:21:03 230

原创 python基础-字符串、列表、元组、字典、集合

一、字符串(一)字符串的介绍简单的字符串:双引号或者单引号之间的数据,就是字符串print("Let's go")print("Let\'s go") # \'用来转意原始字符串:str1 = "C:\naaa\nbbb\nccc"print(str1) # 想打印出目录,\n默认为换行str1 = r"C:\naaa\nbbb\nccc...

2018-02-26 17:24:39 1695

转载 Python部署-Fabric

一、简介Fabric是一个Python的库,它提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化、流水化地执行Shell命令。因此它非常适合用来做应用的远程部署及系统维护。其上手也极其简单,你需要的只是懂得基本的Shell命令。本文将为大家详细介绍Fabric的使用。二、安装Fabric首先Python的版本必须是2.7以上,可以通过下面的命令查看当前Python...

2018-02-09 16:47:31 354

原创 python工具-setup.py

一、pip install 与 python setup.py install区别pip install 模块名:在线安装,会安装相关的依赖包。python setup.py install:下载源码后本地安装,不会安装依赖包。二、install 与 develop 的区别python setup.py install:主要是安装典型第三方包,这种包比较稳定,不再需要你去...

2018-02-06 10:57:08 565

原创 python基础-基本数据类型

一、进制转换十进制:逢10进1,1,2,3,4,5,6,7,8,9,10,11······二进制:逢2进1, 001,010,011,100,101,110,111······八进制:逢8进1,1,2,3,4,5,6,7,10,11,12,13,14,15,16,20······十六进制:逢16进1,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F二进制 -> 十进...

2017-12-14 13:56:10 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除