前几天由于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?的更多相关文章

  1. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  2. Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可运行文件

    学了一阵子Python,拿来做个什么有意思的东西呢?爬糗百好了.爬到的内容,邮件分发出去. 然后又啃了两天的wxpython,做了个简易的邮件管理界面,能够在这里添加或者删除邮件,而且一键爬虫发送. ...

  3. Python踩坑系列之安装pycrypto报错:“Microsoft Visual C++14.0 is required”问题。

    由于要使用Python3实现des3加密要使用pycrypto模块,所以使用pip install pycrypto 来安装,然后就常规性掉坑.安装报错“Microsoft Visual C++14. ...

  4. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  5. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  6. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  7. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  8. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  9. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

随机推荐

  1. Android Shape使用

    说明 在Android开发中,使用shape可以很方便的帮我们画出想要的背景,相对于png图片来说,使用shape可以减少安装包的大小,而且能够更好的适配不同的手机. 使用 先贴出官网上的说明: &l ...

  2. POJ --3045--Cow Acrobats(贪心模拟)

    Cow Acrobats Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submit ...

  3. 6. MongoDB——Java操作(增删改查)

    转自:https://blog.csdn.net/kai402458953/article/details/79626148 import java.net.UnknownHostException; ...

  4. html中隐藏一个元素的方法

    display:none;                                                      隐藏不占位 opacity:0; fliter:alpha(opa ...

  5. ListView和GridView的setOnScrollListener的简介

    ---恢复内容开始--- 设置ListView和GridView的滑动监听 circle_lv.setOnScrollListener(new AbsListView.OnScrollListener ...

  6. 实现echarts内外圈联动

    //控制都是通过控制series中data的name,那么将内外圈需要同事控制的部分设置为一样的名字,就可以实现内外圈联动. //但是在name相同时,会使默认分配颜色时相同,使颜色不好看,这里就需要 ...

  7. Android chromium 2

    Overview JNI (Java Native Interface) is the mechanism that enables Java code to call native function ...

  8. 【转载】Perl中字符串编码的处理

    在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只熟悉两种编 ...

  9. js或css指定元素点击时内容不可被选中

    一.css3中可以使用"user-select"属性: body{ -webkit-user-select:none;/*谷歌 /Chrome*/ -moz-user-select ...

  10. C++归并算法

    #include <iostream> using namespace std; void DealWhat(int ar[],int start,int end,int b[]) { i ...