Python!Are you kidding me?
前几天由于python给我带来了兴奋写了一篇文章叫做《The beauty of python 1》,今天则是由于一个小错误而写下此文。
也是缘因为我的工作,问题是这种:
我有一个文档。里面存储了一行信息
商品分类#该分类的商品数
商品分类是不会出现#(所以我保存时候用了#作为分隔符),而商品总是从1到商品数n编号,我得到这个商品数之后。就能够遍历调用操作函数(简单记为fun吧)。
理所当然拉,我设置了分隔符。当然就是为了使用split。
之后我写了几行这种代码。
f=open('record.txt','r')
info=f.readlines()[0]
f.close()
end=info.split('#')[-1]
beg=1
while beg<=end:
fun(beg)
beg+=1
之后我就安心地交给后台操作了
nohup python a.py &
之后我就在写其它了,由于处理的是海量数据。所以我等了一个下午再回去看的时候。发现程序还没有结束。不再我估计的范围内。
聪明的你,看出什么问题了吗?
后来我增加了一句非常easy的话。
f=open('record.txt','r')
info=f.readlines()[0]
f.close()
end=info.split('#')[-1]
beg=1
while beg<=end:
print beg#这句
fun(beg)
beg+=1
可是。我的数据量非常大,并且fun操作时间非常慢!这就纠结了!
这么简单的结果,居然会出错?我毫不怀疑main函数内,而去看大段的fun,可是苦苦试验了非常多次,还是不行阿。
当时。我差点怀疑是我的py坏了,还是在逗我!(作者心急如焚,居然会怀疑自己的编译器。我的fun非常恶心的一堆正则)
后来。我用肉眼来观察,难道是我的split出问题了吗?之后又加了一句。
f=open('record.txt','r')
info=f.readlines()[0]
f.close()
end=info.split('#')[-1]
print end #这句
beg=1
while beg<=end:
print beg
fun(beg)
beg+=1
end还是非常正常阿!
这下就烦恼了,是我的程序问题吗。还是真的没执行完?
Then,我去了个洗手间。
细致一想,好像split后得到的是字符串。!
字符串!
可是,字符串不是会转换成数字吗?那究竟也不至于没跑完阿,比方'18'(我如果而已,实际大多了。
)
数字与字符串的比較呢?
后来我写了一个測试函数
beg=1
while beg<'1':
print beg
beg+=1
死循环了。。
。
我带着一腔愤慨与兴奋,改动了程序
f=open('record.txt','r')
info=f.readlines()[0]
f.close()
end=int(info.split('#')[-1])
beg=1
while beg<=end:
fun(beg)
beg+=1
程序总算是正常了。
好吧。被py玩了一个下午。
后来。我发现,用xrange会直接报错,下次还是用xrange吧。
Python!Are you kidding me?的更多相关文章
- Python基础:条件判断与循环的两个要点
一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...
- Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可运行文件
学了一阵子Python,拿来做个什么有意思的东西呢?爬糗百好了.爬到的内容,邮件分发出去. 然后又啃了两天的wxpython,做了个简易的邮件管理界面,能够在这里添加或者删除邮件,而且一键爬虫发送. ...
- Python踩坑系列之安装pycrypto报错:“Microsoft Visual C++14.0 is required”问题。
由于要使用Python3实现des3加密要使用pycrypto模块,所以使用pip install pycrypto 来安装,然后就常规性掉坑.安装报错“Microsoft Visual C++14. ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
随机推荐
- Kinect 人机交互开发实践
Kinect for Windows SDK 骨骼追踪 —— 对在Kinect视野范围内移动的一个或两个人进行骨骼追踪,可追踪到人体的20个节点 深度摄像头 —— 通过深度传感器获取到视野内的环境三维 ...
- 深入理解 sudo 与 su 之间的区别
深入理解 sudo 与 su 之间的区别 作者: Himanshu Arora 译者: LCTT zhb127 在早前的一篇文章中,我们深入讨论了 sudo 命令的相关内容.同时,在该文章的末尾有提到 ...
- [POI2011]MET-Meteors 整体二分_树状数组_卡常
线段树肯定会 TLE 的,必须要用树状数组. Code: // luogu-judger-enable-o2 #include <cstdio> #include <algorith ...
- last-child到底怎么用
今天工作时候遇到的坑, 看来还是css基础不够扎实,特此记录一下, <div> <p>1</p> <p>2</p> <p>3&l ...
- [笔记-图论]Floyd
用于可带负权的多源最短路 时间复杂度O(n^3) 注意一定不要给Floyd一个带负环的图,不然就没有什么意义了(最短路不存在) 模板 // Floyd // to get minumum distan ...
- 今日SGU 5.27
SGU 122 题意:给你n个人,每个人有大于 N / 2(向上取整)的朋友,问你1这个人有一个书,每个人都想看,只能从朋友之间传递,然后最后回到了1这个人,问你 是否有解,然后有解输出路径 收获:哈 ...
- Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志
应用场景 随着项目的逐渐扩大,日志的增加也变得更快.Log4j是常用的日志记录工具,在有些时候,我们可能需要将Log4j的日志发送到专门用于记录日志的远程服务器,特别是对于稍微大一点的应用.这么做的优 ...
- [Python] Use a Python Generator to Crawl the Star Wars API
In this lesson, you will be introduced to Python generators. You will see how a generator can replac ...
- java反射机制剖析(二)— Class Loader
上一篇博客简要的提了一下java反射机制中涉及到的一些相关知识,那么ClassLoader就是当中之中的一个.本篇博客就具体的对ClassLoader做一个相对深入的了解. 作为了解须要知道的是.事实 ...
- Service绑定模式
Service绑定模式 使用绑定的Service能够实现组件与Service的通信. 组件与被绑定的Service能够不归属于同一个应用程序.因此通过绑定Service能够实现进程间通信. ...