linecache模块 enumerate函数

从文件中得到指定行.

标准库提供的linecache模块提供了解决方案:

import linecache
theline = linecache.getline(thefilepath, desired_line_number)

在处理这一类的问题时,linecache总是可以做为一种方案

,尤其是要重复执行的时候,因为linecache提供的机制能防止重复进行一些无用的操作.当你使用完毕的时候 ,调用clearcache方法来清空使用的缓存.也可以使用checkcache确保对文件的修改正确的保存在磁盘上.
linecache读入并缓存给出文件的所有内容,所以假如文件非常的巨大,linecache可能要做更多的工作.如果这成为你程序的瓶颈,用循环处理可能会获得更好的效果:

def getline(thefilepath, desired_line_number):
if desired_line_number <>
for current_line_number, line in enumerate(open(thefilepath, 'rU')):
if current_line_number == desired_line_number-1: return line
return ''

需要注意的地方是enumerate从0开始计数,所以我们要在计算的时候减一.

enumerate每次回返回一个tuple, (index, value)
例子很简单:
s = ['abc', 'This is a test', 'Hello,
Python']
for i, line in enumerate(s):
print i+1, line

我的QQ邮箱今天开通了webQQ

我的QQ邮箱今天开通了webQQ,也就是通过QQ邮箱进行在线聊天,感觉不错。 ^_^

QQ邮箱是我最喜欢的邮箱,用的输入法也是我最喜欢的QQ拼音输入法。 ^_^

防止窗口改变大小


import Tkinter

top = Tkinter.Tk()
top.resizable( False,False) #resizable第一个参数为假,窗口横向不能改变大小,第二个参数是纵向的。
label = Tkinter.Label(top, text='tk.resizable(False, False)')
label.pack();
Tkinter.mainloop()

不哭


不是你的错,也不是我的错,命运就是这么安排。

我们的努力更像是在挣扎。

妥协是很容易的事,只要能说服自己。

用放弃换的心灵的宁静。

随命运安排,任伤口结痂。

伤痛会慢慢消失, 心中带着你留下的痕迹,去飞翔。

分手

  今天分手了。对不起小丫头,我做不到无所谓,做不到不在乎。和你在一起的一个多月,我们天天在一起,我真的很开心。我永远不会忘记你。

23℃~34℃ 晴


小丫头今天到义乌去了,之前也没告诉我一声。今天上午突然发个短信给我,说她在去义乌的路上,朋友打电话给她,临时决定的。

23℃~33℃ 晴



今天我与她相识一个月了。

日记


上个礼拜四5月15号,我跟爱/琴去冷水尖上香,昨天她说是为了去还愿。这张照片最象她本人

买了辆电动车


昨天下午买了辆电动车,2660元,上海吉圣牌,黑色。是高爱琴陪我一起去买的。

日记

昨天与她联系,昨天下午到她的店里见了她,昨天晚上还跟她在昌江广场约会。她不漂亮但她看着很舒服。她叫高/爱/琴,她觉得她的名字很土。她比我小十岁