因为GAE在国内访问不便,所以平时有一些小应用,我都会放在SAE上面,虽然SAE还有很多缺陷,但算是上手比较容易的一个了,最起码文档写的不错。开发SAE上的应用,我一般都用Flask,SAE预装了Flask,所以你可以直接用,但我们难免会用一些没有预装的库。如果是在以前,可能需要自己将package挨个copy到应用目录中,然后手动加载,现在嘛,不需要那么麻烦了,SAE有个非常不错的解决方案,见《安装依赖的第三方包》你可以使用saecloud来代替pip安
系统 2019-09-27 17:48:13 2183
log日志监测程序运行:可以1⃣️Linux重定向将python运行报错记录到log日志中,2⃣️或者用python内置的logging模块。但是在用logging模块时,try...except...可以捕获到可预见/考虑到的异常,用logging记录到log日志文件中,但是在对于未知异常或导致程序退出时的情形无法记录到log日志中,用Linux的重定向可以捕捉到。现在到问题时我不想用Linux系统提供的重定向方法,我需要捕获python运行中未知的异常
系统 2019-09-27 17:48:09 2183
代码一:#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8importthreadingimportQueueimportsysimporturllib2importreimportMySQLdb##数据库变量设置#DB_HOST='127.0.0.1'DB_USER="XXXX"DB_PASSWD="XXXXXXXX"DB_NAME="xxxx"##变量设置#THREAD_LIMIT=3jobs=Que
系统 2019-09-27 17:47:49 2183
使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列
系统 2019-09-27 17:47:18 2183
listpython的列表内部实现是数组(具体实现要看解析器,CPython的实现),因此就有数组的特点。超过容量会增加更多的容量,set,get是O(1),但del,insert,in的性能是O(n)。具体的看下表,'n’是容器中当前的元素数,'k’需要操作的元素个数OperationAverageCaseAmortizedWorstCaseCopyO(n)O(n)Append[1]O(1)O(1)InsertO(n)O(n)GetItemO(1)O(1
系统 2019-09-27 17:45:52 2183
问题背景:同一个python脚本项目同时处理elasticseach6.2.1.和elasticseach5.1.1中存储的数据解决因为包冲突带来的问题解决思路:开一个python虚拟环境python安装虚拟环境:https://www.jianshu.com/p/4c898236cf35.3、创建虚拟环境mkvirtualenves5附:切换虚拟环境:workones5退出虚拟环境:deactivate4、查看当前虚拟环境安装的插件piplist5、py
系统 2019-09-27 17:45:40 2183
PythonQueue模块Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q
系统 2019-09-27 17:45:30 2183
字符串--不可改变的序列如同大多数高级编程语言一样,变长字符串是Python中的基本类型。Python在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Python还有一些其它高级语言没有的字符串处理功能。在Python中,字符串是“不可改变的序列”。尽管不能“按位置”修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样。Python使用灵活的“分片”操作来引用子序列,字符片段的格式类似于电子表格中一定范围的行或列
系统 2019-09-27 17:38:37 2183
python异常处理机制和java类似,采用try-except-finally的结构.try-except检测异常格式复制代码代码如下:try:try_statementexcept(ErrorType1,ErrorType2),e:handle_statementfinally:finally_statement实例复制代码代码如下:#!/usr/bin/pythontry:a=12b=0c=a/bexceptException,e:print"Exc
系统 2019-09-27 17:38:36 2183
1.能调用方法的一定是对象,比如数值、字符串、列表、元组、字典,甚至文件也是对象,Python中一切皆为对象。str1='hello'str2='world'str3=''.join([str1,str2])print(str3)2.三种基本的文件操作模式:r(only-read)、w(only-write)、a(append)对文件进行操作的流程:第一,建立文件对象。第二,调用文件方法进行操作。第三,不要忘了关闭文件。(文件不关闭的情况下,内容会放在缓存
系统 2019-09-27 17:38:34 2183