Votre question

Exécution d'un programme python sous windows 7 64 bits

Tags :
  • Programmation
Dernière réponse : dans Programmation
2 Février 2012 17:40:11

Le programme suivant qui fonctionnait très bien sous windows XP 32 bits me génère le message suivant sous windows 7 64 bits:

File "F:\lecture_dxf.py", line 10
print "Reading %s" % filename
^
SyntaxError: invalid syntax

Il semble que les arguments ne assent pas
Y-a-t-il une correction à faire sous win7 ?

Merci d'avance de votre aide

Didier
____________________________________________
  1. import sys, os, string
  2.  
  3. pattern="ATTRIB"
  4. n=20
  5.  
  6. for filename in sys.argv[1:]: # for each file given in parameter
  7. dirname = os.path.dirname(filename)
  8. filename = os.path.basename(filename)
  9. fd = open(dirname + filename, 'r')
  10. print "Reading %s" % filename
  11. newFilename = False
  12. while True:
  13. line = fd.readline()
  14. if not line: break # EOF
  15. line = line.strip() # we delete delete the Carriage Return
  16. if pattern in line:
  17. print "pattern in #%s#" % line
  18. while n:
  19. line = fd.readline()
  20. if not line:
  21. sys.exit(0) # EOF, not enought lines
  22. n -= 1
  23. newFilename = line.strip()
  24. ext = filename.split('.')[1]
  25. newFilename = newFilename + '.' + ext
  26. break
  27. fd.close()
  28. if newFilename != False:
  29. print "Moving '%s' to '%s'" % (filename, newFilename)
  30. os.rename(dirname + filename, dirname + newFilename)


Autres pages sur : execution programme python windows bits

a b L Programmation
2 Février 2012 19:05:43

Non, le problème n'est pas l'OS, mais la version de python que tu as utilisé. :) 

Dans les versions 2.x.x de python (celles que tu avais sous ton win32), la fonction print s'écrit sans parenthèse, alors que dans les versions 3.x.x, pour ajouter une certaine cohérence, la fonction print doit être écrite avec les parenthèses:
  1. print("Reading %s" % filename)

D'ailleurs, python est passé à la version 3 à cause de quelques incompatibilités (essentiellement le print).

Il existe un outil (en python et dans ton installation de python dans tools/scripts) permettant de convertir ton script.
les infos ici: Script python : 2to3
7 Février 2012 18:52:25

Salut,
merci, c'est bon. j'ai tardé à te remercier, car j'étais sur un autre sujet.

Didier
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS