В Python, что лучший способ состоит в том, чтобы эмулировать Perl __ КОНЕЦ __?

Я корректен в размышлении этого, что Python не имеет прямого эквивалента для Perl __END__?

print "Perl...\n";

__END__
End of code. I can put anything I want here.

Одна мысль, которая произошла со мной, состояла в том, чтобы использовать трижды заключенную в кавычки строку. Существует ли лучший способ достигнуть этого в Python?

print "Python..."

"""
End of code. I can put anything I want here.
"""
24
задан Tadeusz A. Kadłubowski 18 March 2010 в 17:26
поделиться

3 ответа

Предложенная вами форма с тройными кавычками по-прежнему создает строку Python, тогда как парсер Perl просто игнорирует все, что находится после __ END __ . Нельзя писать:

"""
I can put anything in here...
Anything!
"""
import os
os.system("rm -rf /")

На мой взгляд, больше подходят комментарии.

#__END__
#Whatever I write here will be ignored
#Woohoo !
7
ответ дан 29 November 2019 в 00:01
поделиться

То, о чем вы просите, не существует. Доказательство: http://www.mail-archive.com/python-list@python.org/msg156396.html

Простым решением является удаление всех " как \" и создание обычной многострочной строки - см. официальную документацию: http://docs.python.org/tutorial/introduction.html#strings

( Также не работает atexit: http://www.mail-archive.com/python-list@python.org/msg156364.html )

5
ответ дан 29 November 2019 в 00:01
поделиться

В Python нет прямого эквивалента этому.

Зачем вам это нужно? Не похоже, что это действительно хорошая вещь, когда есть более последовательные способы, такие как размещение текста в конце в виде комментариев (именно так мы включаем произвольный текст в исходные файлы Python. Строки в тройных кавычках предназначены для создания многострочных строк, а не для текста, не связанного с кодом.)

Ваш редактор должен быть в состоянии облегчить вам использование многострочных комментариев.

0
ответ дан 29 November 2019 в 00:01
поделиться