Python3.0和以前版本的區別

來源:互聯網
上載者:User

原文地址:http://blog.csdn.net/qq404766692/article/details/6497068

我最近在學習Python,由於用的版本是3.1.2的,網上很難找到一些好的教程,所以我用的還是2.0的教程,但是會出現一些莫名其妙的錯誤,後來才知道是版本的問題,一下就是我遇到的一些不同,這可能是少部分因為我也是初學者。。。

    (1)print,3.1版本之後要用括弧括起來(print("abs"),類似於java)而2.0版本不用。

    (2)input代替了2.0版本的raw_input;

    (3)3.0版本沒有file函數了,要開啟檔案要用open;f = open(shoplistfile,'wb');

    (4)沒有了Cpickle模組了;

    (5)使用pickle.dump()方法時,裡面的檔案的讀操作要是“wb”,使用load方法時,檔案要是“rb”,

    (f = open(shoplistfile,'wb');f = open(shoplistfile,'rb');shoplistfile為檔案名稱)

不然會出現一下錯誤:

    Traceback (most recent call last):
  File "F:/python program/pickle.py", line 6, in <module>
    p.dump(shoplist,f);
  File "D:/Python31/Lib/pickle.py", line 1354, in dump
    Pickler(file, protocol, fix_imports=fix_imports).dump(obj)
TypeError: must be str, not bytes

    Traceback (most recent call last):
  File "F:/python program/pickle.py", line 10, in <module>
    store =  p.load(f);
  File "D:/Python31/Lib/pickle.py", line 1365, in load
    encoding=encoding, errors=errors).load()
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 0-1: illegal multibyte sequence

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.