Python2.7与Python3.3不同而产生的错误

今天刚开始学习Python就遇到了很多error,主要是我用的是Python3.3,而大多数教程都是Python 2.x。所以把自己目前遇到的一些主要错误记下来,留着以后纠错时,可能会用到吧。呵呵我记性不好,整理在下面(边学边整理)

1.Python 3.3.2,出现NameError: name 'raw_input' is not defined,原因是版本3.0 中去掉了raw_input 函数,改用input。

2.要sublimeText2中编译运行Python文件时,如果代码中带有需要用户输入的函数时(raw_input/input)会提示以下错误 

EOFError: EOF when reading a line 
解决方法: 
安装sublimeREPL 
运行Python文件 
方法1:CTRL+SHIFT+P 输入:sublimePython-RUN 就可以运行 
方法2:菜单【工具】-【sublimePERL】-【Python】-【Python 211; RUN current file】

3 print "str" 这种没有括号的语法,在3.x下不支持,3.x只支持print ("str")。另外,print希望不换行在最后加一个“,”,在3.x中不适用了,3.x中可以这样去除换行print("str",end='')

4 import urllib2发现有错  ImportError: No module named urllib2

官网:The urllib2 module has been split across several modules in Python 3.0 named urllib.request and urllib.error. The 2to3 tool will automatically adapt imports when converting your sources to 3.0.    

Python 3.x中用urllib2被整合到了urllib中,用urllib.request替代。


你可能感兴趣的:(python,差异)