2013-04-12 5 views
5

Извиняюсь заранее, это то, что я действительно понял, что могу найти в Интернете, но у меня были проблемы.

В Python, в части заголовка, я вижу, что иногда люди обертывают свои литералы знаком доллара ($). Кажется, судя по примерам, это указатель на заполнение информации, которая автоматически обновляется (может быть, через контроль источника?), Но я не понимаю, как это работает.

Например:

__version__ = '$Revision: 4799 $'.split()[1] 
__date__ = '$Date: 2006-09-25 11:09:02 -0400 (Mon, 25 Sep 2006) $'.split()[1] 
__author__ = 'John Doe FIX: put in the authors name' 

пример, который я нашел в точке (Python Example Documentation Template). Таким образом, $ обернута вокруг версии (которая будет меняться со временем) и даты (которая также изменится). Предполагая, что это какой-то указатель на то, чтобы всегда получать самую свежую информацию о версии, дате и т. Д., Может кто-нибудь указать мне, как это работает? Какое программное обеспечение для управления версиями использует этот синтаксис? Это одно и то же на разных языках?

Спасибо!

ответ

3

Это не относится к Python, это то, что используется системами управления версиями, возвращается к RCS и CVS.

См. CVS Keywords для получения списка синтаксиса CVS. В то время как в настоящее время мало кто использует CVS, многие из систем управления источниками do используют (в частности, подрывную) обработку синтаксиса CVS или небольшое его изменение. (И некоторые люди также создают скрипты сборки, которые выполняют подобные замены во время сборки, а не время проверки.)

+0

Большое спасибо! Я думал, что это что-то вроде этого, но не смог найти ничего, чтобы подтвердить, что ты сказал. Спасибо за ссылку. –

2

Это результат subversion's keyword substitution (изначально CVS). Да, он работает со всеми файлами, а не только с исходным кодом python.

+0

Привет, Павел, спасибо вам большое! Я действительно хотел сказать, что и ваши, и abarnet's были «правильными», но я полагаю, что StackExchange не позволяет мне выбрать 2 правильных ответа. –

1

Это называется «замена ключевого слова», и варианты этой идеи реализованы в ряде систем управления версиями, таких как RCS, CVS и Subversion. Учитывая это, теперь вы можете легко найти в Интернете информацию.

1

Это не специфический python.

Некоторые системы контроля версий (RCS, CVS и SVN как минимум) автоматически вставляют номер версии и последнюю измененную дату файла с этими специальными переменными.

 Смежные вопросы

  • Нет связанных вопросов^_^