python 2.7.3和python 3.3之间的区别

时间:2013-02-12 09:25:24

标签: python python-3.x

我在python 2.7.3中有以下python代码,我最近使用的是具有python 3.3的新笔记本电脑,我认为我不应该降级回python 2.7.3。代码是

: -

nm = input(“enter file name “)

str = raw_input(“enter ur text here: \n”)

f = open(nm,”w”)

f.write(str)

f.close()

print “1.See the file\n”

print “2.Exit\n”

s = input(“enter ur choice “)

if s == 1 :

   fi  = open(nm,”r”)

   cont  = fi.readlines()

for i in cont:

    print i

else :

    print “thank you “ 

请告诉我应该做出哪些更改,以便它可以轻松运行而不会出现任何错误。

3 个答案:

答案 0 :(得分:16)

    Python 3中不存在
  • raw_input(),而是使用input()

    str = input("enter ur text here: \n")
    
  • input()不评估它在Python 3中解析的值,而是使用eval(input())

    s = eval(input("enter ur choice "))
    
  • print()是Python 3中的一个函数(它是Python 2中的一个声明),所以你必须调用它:

    print("1.See the file\n")
    print("2.Exit\n")
    
    print(i)
    
    print("thank you ")
    

答案 1 :(得分:3)

raw_input() 

变为

input()

print " "

变为

print()

希望这有所帮助,但有关转换的更多信息可以在http://python3porting.com/找到:)

答案 2 :(得分:1)

为了使您的代码在Python 3中正常工作,请始终使用input()而不是raw_input(),因为后者的功能不再存在。此外,print语句已被print()函数替换。