引言
1 列表推导式
records = [json.loads(line) for line in open(path)]
这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.loads)的简洁方式。在一个打开的文件句柄上进行迭代即可获得一个由行组成的序列。现在,records对象就成为一组Python字典了。
{u'a': u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11',
u'al': u'en-US,en;q=0.8',
u'c': u'US',
u'cy': u'Danvers',
u'g': u'A6qOVH',
u'gr': u'MA',
u'h': u'wfLQtf',
u'hc': 1331822918,
u'hh': u'1.usa.gov',
u'l': u'orofrog',
u'll': [42.576698, -70.954903],
u'nk': 1,
u'r': u'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf',
u't': 1331923247,
u'tz': u'America/New_York',
u'u': u'http://www.ncbi.nlm.nih.gov/pubmed/22415991'}
2 安装iPython
pip install "ipython[all]"
3 下载源代码以及数据
https://github.com/wesm/pydata-book
大家就不要在csdn上花积分下载了,很坑
4 时区的字符串形式
u'America/New_York'
而打印形式
America/New_York
5 补充知识 Collections模块
6 ipython的一些知识
我是在pycharm中使用ipython,所以很多ipython的技巧不能在pycharm中使用,只能在命令行模式下使用,现在列出
- tab键自动补全
- 内省 ? ??(显示源代码) 通配符* 例如(*load*?)
- %run命令 运行脚本 %run+路径
-
中断正在执行的代码(急性子必备23333)
按下Ctrl-C就会引发一个KeyboardInterrupt。除了一些非常特殊的情况下,绝大部分python程序都会立即停止执行
-
魔术命令
粘贴在此以作备忘
命令 说明
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令的输入(可选输出)历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%run script.py 在IPython中执行一个Python脚本文件
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算系综平均执行时间。对那些执行时 间非常小的代码很有用
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用 -
通常我们通过在启动Ipython时加上--pylab标记来集成matplotlib
注意空格啊~是
ipython --pylab
-
输入和输出变量
ipython将最近的两个输出结果保存在_(一个下划线)和__(两个下划线)变量中
输入的文本被保存在名为_iX的变量中,其中X是输入行的行号。比如说,在输入完27行后,就会产生两个新变量_27(输出变量)和_i27(输入变量)
我这儿就拿第八行举例子吧2333
后面的感觉用到的时候再看就可以了