
python&nodejs
文章平均质量分 81
ronon77
这个作者很懒,什么都没留下…
展开
-
Django处理文件上传File Uploads
Django处理文件上传File Uploads HttpRequest.FILES表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data12<form enctype="multipart/form-data" method="post" acti...原创 2016-04-13 18:26:14 · 376 阅读 · 0 评论 -
Python中的*args 和**kwargs的用法
args就是所有参数的数组,kwargs就是当你传入key=value是存储的字典,当函数的参数不确定时,可以使用*args 和kwargs,*args 没有key值,kwargs有key值 123456 def fun_var_args(farg,*args): p...原创 2016-04-14 20:21:51 · 142 阅读 · 0 评论 -
python 安全编码&代码审计
0x00 前言现在一般的web开发框架安全已经做的挺好的了,比如大家常用的django,但是一些不规范的开发方式还是会导致一些常用的安全问题,下面就针对这些常用问题做一些总结。代码审计准备部分见《php代码审计》,这篇文档主要讲述各种常用错误场景,基本上都是咱们自己的开发人员犯的错误,敏感信息已经去除。0x01 XSS未对输入和输出做过滤,场景:123...原创 2016-04-14 20:28:08 · 156 阅读 · 0 评论 -
python 模拟form表单流式上传文件
如果机器上有 PycURL,那么可以使用 PycURL 来上传文件。不过,由于 PycURL 需要用到 curl,在 Windows 下安装可能会有点麻烦,除 PycURL 外,也有一些其它实现 POST 文件上传的方式,比如 这儿 的 2 楼有人贴出了一个将文件进行编码之后再 POST 的方法,另外还有MultipartPostHandler、urllib2_file、poster 等第三...原创 2016-04-15 14:01:08 · 731 阅读 · 0 评论 -
开发环境中将线上路径映射到本地路径的方法
日常开发过程中,我们经常需要修改一些放在 CDN 上的静态文件(如 JavaScript、CSS、HTML 文件等),这个过程中,我们希望能有一种方式将线上 CDN 的目录映射为本地硬盘上的某个目录,这样,当我们在本地修改了某个文件时,不需要发布,刷新后马上能看到效果。比如,我们的 CDN 域名是:http://a.mycdn.com,本地对应的目录是:D:\workasse...原创 2016-04-17 10:09:18 · 1079 阅读 · 0 评论 -
Django站点静态文件缓存相关问题
《高性能网站建设指南》中有一条建议,为网站的页面、文件“添加 Expires 头”。这么做的好处就不多说了,实现方式也比较简单,不过,真的实施这条建议时,还是有许多问题需要考虑。通常情况下,我们需要将图片、js、css 等不会经常更新的文件缓存起来,一般来说,配置服务器,为它们设置一个较远的未来的 Expires 时间就可以了(比如 1 年后)。不过,在一个经常会更改的网站中,某些 js/c...原创 2016-04-17 10:22:41 · 924 阅读 · 0 评论 -
Django汉字Cookie编码问题
Django设置Cookie时需要注意,不能直接把utf-8编码的汉字保存到Cookie中,否则会出现 UnicodeEncodeError ,提示:‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128) 。解决这个问题很简单,只需要将Cookie由 unicode 类型...原创 2016-04-17 10:36:23 · 137 阅读 · 0 评论 -
Python循环中的else语句
绝大部分编程语言中都有条件判断语句,比如 if … else ,在大部语言中,else 一般只在条件判断语句中出现,与 if 语句配套出现,不过在 Python 中,else 除了能与 if 这样的条件判断一起出现外,还能出现在 for、while 这样的循环语句中。我们来看一个例子: 12345678910...原创 2016-04-17 10:38:01 · 168 阅读 · 0 评论 -
python时区设置的两种方式
第一种用pytz 第二种手动加时区再转换格式 a = datetime.datetime.today()o = datetime.timedelta(hours=8) (a+o).strftime("%Y-%m-%d_%H:%M") 转化后效果 test_admin_stable_2016-04-...原创 2016-04-19 06:32:55 · 9500 阅读 · 1 评论 -
python 函数参数的传递(参数带星号的说明)
#coding:utf-8#参数解释import sys# def TestSys():# for arg in sys.argv[1:]:# print arg# TestSys()# import argparse# parser = argparse.ArgumentParser(description='t...原创 2016-04-23 09:15:58 · 206 阅读 · 0 评论 -
30个有关Python的小技巧
1.1 拆箱 Python 123456789101112131415161718>>>a,b,c=1,2,3>>>a,b,c(1,2,3)>>>a,b,c=[1,...原创 2016-04-28 18:20:24 · 143 阅读 · 0 评论 -
argparse - 命令行选项与参数解析(各种组合的案例)
argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。与optparse相比较argparse的API类似于optparse,甚至在很多情况下通过更新所使用的类名和方法名,使用argparse作为一个简单的替代。然而,有...原创 2016-05-04 15:26:16 · 1017 阅读 · 0 评论 -
一行式并行方案_map
在并行处理能力方面,Python的声名并不太好。不考虑关于线程和GIL(多数情况下是合理的)的标准论据,我认为Python中关于并行的真正问题并不是一个技术问题,而是教学问题。围绕Python线程和多进程的常见教程,一般都写得不错,但也令人乏味 - 激烈非凡,对日常真正有用的东西却很少涉及。沿袭的例子在DuckDuckGo(DDG)中搜索“Python多线程教程”,简单调查一下排在前面的...原创 2016-05-05 17:52:27 · 142 阅读 · 0 评论 -
Python格式字符串
每次使用Python的格式字符串(string formatter),2.7及以上版本的,我都会犯错,并且有生之年,我想我都理解不了它们的文档。我非常习惯于更老的% 方法。所以着手编写自己的格式字符串手册。若你有一些其他好的示例请告知我。格式字符串手册数字格式化下面的表格展示了使用Python的后起新秀str.format()格式化数字的多种方法,包含浮点数格式化与整数格...原创 2016-05-05 21:44:41 · 146 阅读 · 0 评论 -
Python修饰器的函数式编程
Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码...原创 2016-05-09 15:41:34 · 117 阅读 · 0 评论 -
函数式编程
函数式编程的三大特性:immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别人改你代码的时候,是很容易出bug的,在并行中这样的问题就更多了)f...原创 2016-05-10 10:40:55 · 118 阅读 · 0 评论 -
非常简单的Python HTTP服务
如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么, Python 可能帮助你。使用Python可以完成一个简单的内建 HTTP 服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。实际上来说,这是一个可以用来共享文件的非常有用的方式。实现一个...原创 2016-05-10 11:18:00 · 158 阅读 · 0 评论 -
Python处理中文的时候的一些小技巧
如果你像我一样希望能够把事情尽快做好而不去深究,你可能会写一些异常处理的代码把 UnicodeEncodingError糊弄过去先,但当你开始怀疑有多少encoding出错的信息被你丢弃的时候,可能你会很惊奇。于是,你还是会想坐下来,(洗把脸)然后面对自己必须弄懂什么是utf-8,什么是 ‘gb2312’, 什么是 ‘gbk’ 和其中的猫腻。正如有时候猛撕小伤口上邦迪胶布的快感...2016-05-10 11:36:28 · 143 阅读 · 0 评论 -
python:文件的读取、创建、追加、删除、清空
一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python>>>f=open('f.txt','w') # r只读,w可写,a追加>>>for i in range(0,10):f.write(str(i)+'\n'). . .>>> f.close()二、文件内容追加,从0到9的...原创 2016-05-10 11:43:51 · 159 阅读 · 0 评论 -
python 贪婪和非贪婪、多行匹配正则表达式小结
#!/usr/local/bin/python#coding:GBKimport refopen=open(r'/tmp/1.txt','r')f=fopen.read().strip()print "输出1.txt文件内容"print fprint "---------------------------------------"prin...原创 2016-05-10 11:46:52 · 137 阅读 · 0 评论 -
13个Python图形库
Python的13大图形库,matplotlib功能最强大,Cairoplot最漂亮,django-chartit与Django集成了。列表及介绍如下: 1.matplotlib, 官网:http://matplotlib.sourceforge.net/ ,Matplotlib 是一个由 John Hunter 等开发的,用以绘制 二维图形的 Python 模块。它利用了 Py...原创 2016-05-15 11:09:11 · 350 阅读 · 0 评论 -
最全Python爬虫总结
最近总是要爬取一些东西,索性就把Python爬虫的相关内容都总结起来了,自己多动手还是好。(1)普通的内容爬取 (2)保存爬取的图片/视频和文件和网页 (3)普通模拟登录 (4)处理验证码登录 (5)爬取js网站 (6)全网爬虫 (7)某个网站的站内所有目录爬虫 (8)多线程 (9)爬虫框架Scrapy 一,普通的内容爬取 #coding=utf-8impor...原创 2016-05-15 19:35:38 · 242 阅读 · 0 评论 -
Python中实现远程调用(RPC、RMI)简单例子
远程调用使得调用远程服务器的对象、方法的方式就和调用本地对象、方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了。远程调用是分布式系统的基础。远程调用一般分为两种,远程过程调用(RPC)和远程方法调用(RMI)。RPCRPC属于函数级别的远程调用,其多是通过HTTP传输数据,数据形式有XML、JSON、序列化数据等。在此,用python做一个xml-rpc的示例...原创 2016-05-15 19:51:58 · 832 阅读 · 0 评论 -
python 通用调用zabbix的api
#!/usr/bin/env python # -*- coding: utf-8 -*- import re import sys import json import urllib import urllib2 class zabbixtools: def __init__(self, h...原创 2016-05-15 20:27:06 · 162 阅读 · 0 评论 -
判断WEB端口
import urllib2 def scanhttp(url): try: response = urllib2.urlopen(url, timeout=1) try: html = response.read() print "%s is...原创 2016-05-15 20:33:49 · 354 阅读 · 0 评论 -
django定时任务
最近需要考虑如何在django环境中跑定时任务. 这个在 stackoverflow 也有对应的讨论 , 方法也有不少, 这边简单尝试和总结下.假设我们现在的定期任务就是睡眠 n 秒, 然后往数据库里面写一条记录, 记录这个任务的起始以及结束时间, 并且我们 不关心 该任务的返回结果. 项目名称为 mmtest , 应用名称为 mma_cron (说实话我也不知道自己怎么取这样...原创 2016-05-16 21:12:19 · 368 阅读 · 0 评论 -
Python--matplotlib绘图可视化知识点整理
强烈推荐ipython无论你工作在什么项目上,IPython都是值得推荐的。利用 ipython --pylab ,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。这样IPython配置为使用你所指定的matplotlib G...原创 2016-05-17 09:59:52 · 172 阅读 · 0 评论 -
一种部署 Python 代码的新方法
在Nylas,我们喜欢使用Python进行开发。它的语法简单并富有表现力,拥有大量可用的开源模块和框架,而且这个社区既受欢迎又有多样性。我们的后台是 纯用 Python 写的 ,团队也经常在 PyCon 和 meetups 上 演讲 。你可以认为我们是 Python 的超级粉。然而,Python 的一个大缺陷是没有一个明确的工具来部署 Python 服务端应用。工作的情况就像...原创 2016-05-17 10:12:36 · 176 阅读 · 0 评论 -
不停机条件下部署 Django 应用
当我们上线新的服务应用时,经常不得不重启Web服务器以完成部署。但这会对用户造成一定影响,特别是服务器处于繁忙状态时,问题更严重。本文中,作者将针对这一问题,讲述其如何在不停机条件下部署Django应用。当我的网站 healthchecks.io 每秒接收的请求次数超过一次之后,我就非常清楚地认识到我不能再像以前那样部署代码之后随意重启 web 服务器了。作为一个监控服务,哪怕是...原创 2016-05-17 11:48:37 · 451 阅读 · 0 评论 -
缓存穿透、缓存并发、缓存失效之思路变迁
我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透缓存并发缓存失效一、缓存穿透 注: 上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存...原创 2016-05-19 09:21:55 · 104 阅读 · 0 评论 -
Python “黑魔法” 之 Generator Coroutines
本文默认读者对 Python 生成器 有一定的了解,不了解者请移步至 生成器 – 廖雪峰的官方网站 。本文基于 Python 3.5.1,文中所有的例子都可在 Github 上获得。学过 Python 的都知道,Python 里有一个很厉害的概念叫做 生成器(Generators)。一个生成器就像是一个微小的线程,可以随处暂停,也可以随时恢复执行,还可以和代码块外...原创 2016-05-19 13:57:44 · 136 阅读 · 0 评论 -
JIRA系统的设置和使用
1.1 JIRA系统安装JIRA的官方网站:http://www.atlassian.com/software/jira/overview。在官网上下载JIRA安装文件,在服务器上安装(提供30天试用版本),安装前需要指定数据库,具体安装过程不再赘述。安装完成后运行第一次的向导,主要是设置管理员,JIRA名称,http服务端口及...原创 2016-05-20 22:06:11 · 643 阅读 · 0 评论 -
Python 资源大全中文版
Python 资源大全中文版我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。Awe...原创 2016-05-21 17:53:58 · 5573 阅读 · 1 评论 -
web服务器一键安装脚本 EZHTTP
EZHTTP是集成了nginx apache php mysql memcached等web服务器软件的一键安装脚本,它能自由选择安装任意的软件,自动选最优线路下载,定制容易。如何安装因为安装时间会比较久,建议安装前使用screen,screen使用方法如下:1、首先得安装screen,ubuntu使用apt-get install screen,centos或redh...原创 2016-05-23 09:34:38 · 396 阅读 · 0 评论 -
python celery组件使用
Prepareinstall: pip install celery选择broker,安装,这里假设使用Redis: apt-get install redis-server Configure首先认真阅读官方celery文档的get start部分,如果有时间的话,最好全部看一边…然后参考阅读别人的best practice...原创 2016-05-24 19:34:24 · 199 阅读 · 0 评论 -
python定时任务
无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再写一篇以便大家区分。1.计算明天和昨天的日期12345678910111213#! /usr/bin/en...原创 2016-05-28 20:49:30 · 228 阅读 · 0 评论 -
Python中http请求方法库汇总
最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示:一、python自带库----urllib2python自带库urllib2使用的比较多,简单使用如下:import urllib2response = urllib2.urlopen('http://localhost:8080...原创 2016-05-28 21:14:50 · 158 阅读 · 0 评论 -
python中文乱码问题大总结
在运行这样类似的代码:123#!/usr/bin/env pythons="中文"print s 最近经常遇到这样的问题:问题一:SyntaxError: Non-ASCII character '\xe4' in file E:\coding\python\Untitled 6.py on line 3, ...原创 2016-05-29 18:11:22 · 221 阅读 · 0 评论 -
Python 解析配置模块之ConfigParser详解
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:123def addlist(alist): for i in alist: yield i + 1取出alist的每一项...原创 2016-05-30 09:48:41 · 121 阅读 · 0 评论 -
python调用浏览器,实现刷网页小程序
python 打开浏览器,可以做简单的刷网页的小程序 and 其他有想象力的程序。不过仅供学习,勿用非法用途。python的webbrowser模块支持对浏览器进行一些操作主要有以下三个方法:123webbrowser.open(url, new=0, autoraise=True)webbrowser.open_new(url)...原创 2016-05-30 10:00:15 · 315 阅读 · 0 评论