python核心编程2版 学习笔记

本文列举了从Python2.x升级到Python3.x过程中遇到的主要差异,包括语法变化如print函数使用、input函数更名及异常处理更新等,并修复了一个因排版错误导致的文件读取问题。

  因为成书的时间问题,所以在现行的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语句相同则问题解决。

       

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值