转载一篇非常好的介绍python对json处理的blog

什么是json:

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

jso官方说明参见:http://json.org/

Python操作json的标准api库参考:http://docs.python.org/library/json.html

阅读全文 »

主要是适配python开发. 都是些github star超高之作.

首先,用vundle来管理插件:

github stars: 10,272
地址: github/vundle

我的vundle list:

1
2
3
4
5
6
7
8
9
10
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
Plugin 'Valloric/YouCompleteMe'
Plugin 'tmhedberg/SimpylFold'
Plugin 'scrooloose/syntastic'
Plugin 'nvie/vim-flake8'
Plugin 'altercation/vim-colors-solarized'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}

阅读全文 »

本质上来说, 就是闭包加python的一个语法糖.
亲们,让我们从头说起:

python中一切皆对象,方法也是一个对象.
1
2
3
4
5
def foo():
print 'this is func foo'

isinstance(foo, object)
True

所以TA可以被作为方法的形参传进去, 也可以作为return value被return.
我们先记下这一点, 后面会详细说明.

阅读全文 »

昨天有个同事谈到一个笔试题:
用shell在一个文件中找出出现次数top50的50个单词, 前提是在这个文件中每行只有一个单词.
我们几个讨论了一下, 第一感觉都是用最熟悉的grep, 但要实现起来怕是得很多代码. 晚上回家没事瞎逛, 看到网友在某篇技术博客里提到uniq命令, 以前竟然不知道这个command, 请原谅我的无知…我搜了下用法, 让我立刻意识到这个笔试题可以秒答…

uniq

顾名思义, 这个command就是要列出不重复的项(使唯一). 以前一直感觉shell没有set这个数据类型很不方便, 现在完全可以用此命令来弥补了. 需要注意的是: uniq只比较相邻两项, 也就是说隔行的重复, TA是不care的. 这个时候就需要配合sort命令.
参数如下:

1
2
3
4
5
6
-u:  列出若干唯一项. 应该u是取得uniq的意思.
-d: 列出若干重复项. 应该d是取得disable uniq的意思.
-f n: 忽略前n个字段再来做比较. f means fields. 字段间的分隔符是空格或者TAB. 从0开始计数. 与-n等价.
-s n: 忽略前n个字符. s means characters. 从0开始计数. 与+n等价.
-i: 忽略大小写. i means ignore case.
-c: 计数. c means count.

阅读全文 »