当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 使用python效率太高了,几句话就可以实现不错的功能,共享一下我收集测试有用的代码块(tips
帖子发表于 : 2007-01-08 11:18 

注册: 2006-08-02 23:33
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/usr/bin/env python
# -*- coding: gbk -*-       
                           


#####打印执行程序块的范围
import re
file = open(__file__)
linenum = start = end = 0
segments = []
rule = re.compile(r'^\s*(#.*)?$')               #无效行:空行或者注释行
for line in file:                               
  linenum += 1                                 
  if not rule.match(line):                      #如果是有效行
    if start == 0:                             
      start = end = linenum                     
    else:                                       
      end += 1                                 
  else:                                         
    if start != 0:                             
      segments.append((start,end))             
      start = end = 0                           
file.close()                                   
spandur = 2                                     #如果中间跨spandur个无效行,仍然认为是一个程序块
spanseg = []                                   
if len(segments) >= 2:
  prestart,preend = segments.pop(0)
  while len(segments) > 0:
    curstart,curend = segments.pop(0)
    if curstart - preend <= spandur:
      prestart,preend = prestart,curend
    else:
      spanseg.append((prestart,preend))
      prestart,preend = curstart,curend
  spanseg.append((prestart,preend))
print 'lines executed:',spanseg[2:] 
print '******************************************************'

##### 添加脚本执行结束必须执行的动作
import sys
def theend():
    print '******************************************************'
sys.exitfunc = theend

###删除UltraEdit的.bak文件
#import os
#for subdir,itsSubdirs,itsFiles in os.walk('/'):            #os.walk递归遍历一个目录,返回的元素为(子目录名,该子目录的直接子目录list,该子目录直接拥有的文件list)的迭代器
#  for file in itsFiles:
#    mainname,extname = os.path.splitext(file)
#    main1,main2 = os.path.splitext(mainname)
#    if extname == '.bak' and main2 in ['.py','.txt','.java']:
#      filepath = os.path.join(subdir,file)
#      print 'Delete',filepath
#      os.remove(filepath)




      把这段代码防到源文件头,然后下面就可以收集、测试代码段,结束后就使用#把整块注释掉,控制台会打出那些代码块被执行,当你有几千行代码后也可以知道那些忘记注释被执行了,上面注释掉的代码可以删除ue创建的临时.bat文件(如果你使用ue编译器的话)


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-01-08 11:29 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
bash效率更高。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : 我是指的学习效率
帖子发表于 : 2007-01-08 11:43 

注册: 2006-08-02 23:33
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
最近一个月都在玩它,本来想能一下ruby的,后来无意间看了本python书,一下子吸引住了,已经写了4-5k的code了,就是那种爽快感:语言本身提供了很好的想法和思想,使用它思考,无需怎样调试,然后还就成了。我喜欢这种称手的工具,象瑞士军刀、全套很好用的厨房用具之类的东西


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-01-08 12:00 
头像

注册: 2005-05-19 18:38
帖子: 1991
地址: 湖南永州
送出感谢: 0 次
接收感谢: 1
eexpress 写道:
bash效率更高。
bash可是用其它的程序的


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-01-08 13:17 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
是啊。但主要是借用系统的那些超强的小命令啊。站巨人的头上。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译