«С» в pre python 2.5 - PullRequest
       13

«С» в pre python 2.5

0 голосов
/ 12 июля 2011

Есть ли способ преобразования оператора «с» в python в формат, который можно использовать в предыдущих версиях python.4 месяца работы по этому вопросу.Они должны быть более эффективными, чем их предыдущие аналоги, но эффективность здесь не важна.

Ответы [ 2 ]

3 голосов
/ 12 июля 2011

Использование try: except: finally:

Предложение finally: может обрабатывать закрытие.

См. http://www.python.org/dev/peps/pep-0343/ для альтернатив.

0 голосов
/ 12 июля 2011

Как заявил S.Lott, try и finally должны выполнять работу с предложением with. Я не уверен, что with на самом деле ловит какие-либо ошибки, поэтому, учитывая это предположение:

with open(file_name,mode) as name: # Or whatever expression
    do_this()

можно заменить на

try:
   name = open(filename,mode)   # Or whatever expression
   do_this()
finally:
   name.close()
...