摘要:
简介with是从2.5版本引入的一个语法. 这个语法本身是为了解决try..finally繁琐的释放各类资源(文件句柄, Lock等)的问题.如果想在旧版本中使用这个功能, 直接引入future模块就可以.from __future__ import with_statement举例简单说明一下没有... 阅读全文
随笔档案-2014年01月
Python tricks(3) -- list和dict的遍历和方法
2014-01-23 23:11 by 会被淹死的鱼, 25633 阅读, 收藏, 编辑
摘要:
每个人在使用python的过程中都会遍历list和dict.List遍历最常用最简单的遍历list的方法a = ["a", "b", "c", "d"]# simple iteratefor i in a: print i但是, 如果我需要拿到list的index, 很多人可能会这样写a = ["a", "b", "c", "d"]# index & valuefor i in xrange(len(a)): print i, 阅读全文
Python tricks(2) -- method默认参数和闭包closure
2014-01-23 00:24 by 会被淹死的鱼, 639 阅读, 收藏, 编辑
摘要:
Python的method可以设置默认参数, 默认参数如果是可变的类型, 比如list, map等, 将会影响所有的该方法调用.下面是一个简单的例子def f(a=None, l=[]): if not a: return l l.append(a) return lif __name__ == "__main__": print f("a") print f("b") print f("b") print f(l=[]) print f()输出结果如下:['a']['a', 阅读全文
《Hadoop权威指南》(Hadoop:The Definitive Guide) 气象数据集下载脚本
2014-01-20 00:55 by 会被淹死的鱼, 799 阅读, 收藏, 编辑
摘要:
已过时,无法使用从网上找到一个脚本,修改了一下#!/bin/bashCURRENT_DIR=$(cd `dirname $0`; pwd)[ -e $CURRENT_DIR/ncdc ] || mkdir $CURRENT_DIR/ncdc[ -e $CURRENT_DIR/ncdc/files ]... 阅读全文
Python tricks(1) -- 动态定义一个新变量
2014-01-19 20:20 by 会被淹死的鱼, 1311 阅读, 收藏, 编辑
摘要:
python是动态语言, 无需声明变量即可使用.传递一个tuple, list或者dict等等方式, 有时候这种方式的使用不是很好.对于tuple和list来说都是用下标的访问方式(即使用[]), 这种方式显得不够自然, 阅读代码的时候需要知道index对应的变量含义.其实, 在python中有很多方式可以动态定义一个新变量, 让代码更具可读性.动态定义一个新变量, 最简单的方式是使用locals()或者globals(), 两个方法的返回值是dict, 可以通过修改dict来增加新变量.locals()["aa"] = "locals_aa"print 阅读全文