Поймать исключение с Python под Windows и UNIX - PullRequest
0 голосов
/ 03 ноября 2011

Я получил код, который сделал 3 года назад под python 2.5 или около того.Тогда он работал правильно. Это было что-то вроде этого:

try:
   if os.path.exists(os.path.join(TRACES.log_file_path, TRACES.log_file_name)):
      os.remove(os.path.join(TRACES.log_file_path, TRACES.log_file_name))
except IOError , e:
   print (str(e))

Теперь, под 3.2, этот кусок кода не работает для окон.Я получаю следующую ошибку: Неверный синтаксис

Чтобы решить проблему, я изменил "," для "как", чтобы иметь следующее:

try:
  if os.path.exists(os.path.join(TRACES.log_file_path, TRACES.log_file_name)):
    os.remove(os.path.join(TRACES.log_file_path, TRACES.log_file_name))
except IOError as e:
  print (str(e))

Я был счастлив, но пару минутпозже я понял, что код не работает в приглашении cygwin, компилятору не понравилось «как», мне пришлось переключиться обратно на запятую!

Я хотел бы знать, что является точнымсинтаксис попробуй кроме?Я хотел бы иметь тот же синтаксис для Windows, Unix и Mac OS

Спасибо

1 Ответ

2 голосов
/ 03 ноября 2011

Операционная система не должна иметь никакого значения для синтаксиса Python.Скорее всего, ваша установка Cygwin включает в себя Python 2.5.(Подтвердите это, просто набрав «python» в приглашении cygwin и проверив баннер.)

Обратите внимание, что «приглашение cygwin» - это не Unix.

Если необходимо, установите Python 3 под Cygwin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...