因为成书的时间问题,所以在现行的python版本上敲例子可能会有问题,这里列出我遇
到的一些问题还修改方法。
另我在百度中发现这个帖子值得参考(What's New in Python3.0 http://www.javaeye.com/topic/259156?page=1)
1,书中描述基于2.×版python与现行3.×版有差别
1) py2.x中 print 'is ok'; py3.x中为print ('() is needed ') 看出区别了吧python 3.x 中调用print函数需要小括号。
2) py2.x中 raw_input() 在py3.x中改为 input(). <Example 3.1>
3) py2.x中 except Exceptions,target: 的形式在py3.x中改为 except Exception as target: <Example 3.2>
2,排版问题
1)Example 3.2 File Read and Display (readTextFile.py)的例子在执行中报
“ValueError:I/O operation on closed file.”的错。
问题在于书的排版如下
#display contents to the screen
for eachLine in fobj:
print eachLine,
fobj.close() <----
敲入例子时,导致将fobj.close()的缩进写的和print句一样了,众所周知python中
以缩进作为程序段落的区分,这样导致for循环第一次执行就close了文件,再次循环到
for eachLine的时候当然会报‘文件已关闭’的错误。只要将close句的缩进调整为和
for语句相同则问题解决。
本文列举了从Python2.x升级到Python3.x过程中遇到的主要差异,包括语法变化如print函数使用、input函数更名及异常处理更新等,并修复了一个因排版错误导致的文件读取问题。
1408

被折叠的 条评论
为什么被折叠?



