2013-02-12 8 views
8

Mam następujący kod Pythona w Pythonie 2.7.3, miałem niedawno przy użyciu nowego laptopa, który ma Pythona 3.3, myślę, że nie powinienem wrócić do wersji Pythona 2.7.3 . Kod jestróżnica między python 2.7.3 i python 3.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 “ 

Proszę mi powiedzieć, jakie są zmiany i powinien uczynić tak, że działa łatwo bez błędu.

+0

Istnieje wiele małych różnic. Czytać książkę! http://python3porting.com/ –

Odpowiedz

16
  • raw_input() nie istnieje w Pythonie 3, użyj input() zamiast:

    str = input("enter ur text here: \n") 
    
  • input() nie ocenić wartość analizuje w Pythonie 3, użyj eval(input()) zamiast:

    s = eval(input("enter ur choice ")) 
    
  • print() jest funkcją w Pythonie 3 (była to instrukcja w Pythonie 2), s O masz to nazwać:

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

Aby kod działał poprawnie w Pythonie 3, zawsze używaj input() zamiast raw_input(), ponieważ ta ostatnia funkcja już nie istnieje. Ponadto, instrukcja print została zastąpiona przez funkcję print().

3
raw_input() 

staje

input() 

i

print " " 

staje

print() 

Mam nadzieję, że to pomogło, ale więcej informacji na temat konwersji można znaleźć pod adresem http://python3porting.com/ :)

Powiązane problemy