Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157204
  • 博文数量: 24
  • 博客积分: 528
  • 博客等级: 中士
  • 技术积分: 288
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-10 10:33
文章分类

全部博文(24)

文章存档

2012年(6)

2011年(18)

分类: LINUX

2011-09-21 17:49:55

    来公司实习马上一个月了,现在做一个IP定位项目的TRACEROUTE环节,具体工作就是写出traceroute.py程序,NND搞的我有点头大,不过现在搞定了。
    1,最先搞的我头疼的是,python的格式对齐,失去了大括号的庇护,python的代码好像更自由了,不是很好的管理了。我的第一个挫败就来源于此,我的程序做判断的时候分了几种情况:if... elif... elif... elif... else...然后如果发生了一种情况,就应该执行下面的for循环。但是单纯的我把这个for循环写在了最后内个else缩进四格的里面了,悲剧由此产生!~
    2,第二个搞的我头疼的是,python的for循环,[vantage,routerip,step,delay]刚开始我想找到最后一跳的路由信息,看看该traceroute刺到头没有(我用了U,T,I三种包)。我写了三个并列的for,很遗憾,我再一次悲剧了,逻辑错误!解决方法是先从vantage(探测点)找到该主线,然后在三个并列的for,但是在for的时候找到该vantage的时候,就break。问题搞定!~
    3,第三个搞的我郁闷的是,python的数据结构,我要用每一次的各个包的时延来update我们现有数据库中的delay。我的程序中出现了这样一句:newlist[l][3]=min(n1,n2,n3),悲剧再一次发生了!我的newlist是外边两层列表,里面是一层元组,即是:[[()()..()],[()...()]...[()...()]],等于我是给一个元组的元素赋值了,那不是找死么!解决办法:我对newlist又加了一个外层循环,然后再更新newlist之前,newlist[m][l]=list(newlist[m][l]),好了,问题搞定!
    唉,对校园生活是无限怀念啊,天天打篮球爽叉叉!
阅读(1341) | 评论(0) | 转发(0) |
0

上一篇:ubantu+Eclipse+JDK+Tomcat

下一篇:程序三改

给主人留下些什么吧!~~