NameError: name ‘Robot’ is not defined

麻烦来了,随着继续看Byte-of-python 发现会遇到一些莫名其妙的问题:

[embed_snipt:Pll]

上面这段代码运行结果是:

Traceback (most recent call last):
File “F:\PJ\PythonPJ\objvar.py”, line 1, in <module>
class Robot:
File “F:\PJ\PythonPJ\objvar.py”, line 34, in Robot
droid1 = Robot(‘R2-D2’)
NameError: name ‘Robot’ is not defined

奇怪,只好再检查一次代码中有没有一些低级错误…暂时还没有什么发现…问题是拷贝PDF中提到的代码也是同样的错误…为什么Robot会没有define…

似乎是缩进的问题,调整了缩进之后的代码:

[embed_snipt:Plm]

这下可以initialize Robot了。可是问题又来,

(InitializingR2-D2)
Greetings, my masters call me R2-D2
Traceback (most recent call last):
File “F:\PJ\PythonPJ\objvar.py”, line 36, in <module>
Robot.howMany()
TypeError: howMany() takes exactly 1 positional argument (0 given)

**Note:本文中用Snipt.org输出的代码,在RSS阅读器中没法输出…

阿咪小传

阿咪,公。于2008年7月被我们在家门口捡到,当时它的左眼受外力的影响似乎有点瞎掉的迹象…带到医院去处理之后终归变得有些萎缩了。

那个时候,阿咪已经有3个月的样子了,所以想来2009年4月的话他也该1岁了吧。自传他是写不了了,他也没离开我们,所以就给他写个小传做个纪念吧 :-)

阿咪其实只是他的小名,就和其他他的无数个小名一样,比如包子,比如金内官。刚来到我们家时,阿咪才一个小暖壶这么大。有图有真相:

看!赛文!!

而在经过这大半年的修正,阿咪已经变成了一只名副其实的肥猫。同样有图有真相:

IMG_0719

实在让人惊诧于它的生长能力。

在2008年的深秋,我,橘子还有阿咪召开家庭会议,最后2票通过,1票弃权通过了对阿咪一件猫生大事的决定。“金内官”就是那个时候产生的…现在的阿咪也就只有看看电脑上的美女猫图片了。

阿咪每天早上6点半会准时执行“叫起床”服务,大冬天的也不例外。时而嘹亮,时而高亢的叫声让你觉得再躺着无动于衷是一件多么十恶不赦的事情。虽然长的胖,可是对吃的阿咪却不怎么挑食。爱吃妙多乐的“幼猫”猫粮,对同品牌的“成猫”猫粮却兴趣缺缺;尤其爱吃皇家的“减肥”猫粮,每次翻箱倒柜地要把猫粮从一堆塑料袋中找出来。除猫粮外,阿咪还爱吃包子,特别是霉干菜肉包…对于包子的香味完全没有抵抗力,每次闻到就串上我的膝盖眼巴巴地望着我…

阿咪爱干净,对于我家床底下的灰尘深恶痛绝,每次都以身作则地窜到床底下去把灰尘搽干净。然后就跳上床来向我炫耀自己的勤劳希望得到奖赏 -__-!

阿咪爱运动,每天晚上我们回家之后是他的健身时间。它会尝试着从北房间的窗台一直飞奔到南房间的窗台,来来往往乐此不疲。感谢我们家楼下的阿姨一家,想必每次阿咪健身的时候都会对他们造成不小的困扰。

阿咪最近还自学瑜伽,喜欢在床上肚皮朝天四肢绷直地表演新学到的招式:

Look I'm a Yoga cat

当然,更多的时候,阿咪是在睡觉。他常常出没于各个“阴暗”的角落,以及各个软绵绵的地方,各个暖洋洋的所在。比如:

Sleeping

IMG_0615

阿咪才1周岁,阿咪还很年轻。阿咪在第二年会变得什么样? 我们明年再分解 ;-)

zip I/O error: Invalid argument?

最近不知道为什么有回头开始看”Byte of Python V1.91″ 今天在读到72页“The solution”的时候遇到了一个问题。需要用python来写一段代码,备份系统的某个,或者某些文件夹。

原文的代码是这样的:

[embed_snipt:Ooi]

我做了些许改动来符合我的现实状况:

[embed_snipt:Ooh]

可是,当我在Console中运行backup.py的时候,系统提示“zip I/O error: Invalid argument”… 奇怪了。Google得到的结果大多是当在压缩某个大文件的时候才出现这样的错误。而我的目标文件夹根本就只有5KB而已啊!

于是在“if os.system(zip_command) == 0:”之前加入了一句“print(zip_command)”看一下到底执行的zip命令是什么东西

[embed_snipt:Ooj]

终于,被我看到输出的命令是”zip -qr F:\PJackup\20090327162409.zip F:\PJ\PythonPJ”  我的目标路径变成了乱码…看来是“\b”被转义了…于是把backup变成了Backup。就没有问题啦。

另外,想如果下次还碰到这样的转义状况怎么办? 把路径改成 F:\\PJ\\backup也是一样OK哒 :-)