Помещение символа Copyright в файл Python

Мне нужно включить оператор авторского права в начало каждого исходного файла Python, который я создаю:

#   Copyright: © 2008 etc.

Однако, когда я запускаю такой файл, я получаю это сообщение:

Синтаксис: не-ASCII-символ '\ xa9' в файле MyFile.py в строке 3, но не объявлено кодирование; Подробнее см. http://www.python.org/peps/pep-0263.html.

По-видимому, Python недовольна символом авторского права, поскольку предполагает, что исходный файл находится в ASCII. Либо мне нужно сделать свою первую строку:

# -*- coding: iso-8859-1 -*-

чтобы сказать Python Я использую латинское кодирование, или я могу изменить выражение об авторских правах:

#   Copyright: \xa9 2008 etc.

который, возможно, не имеет того же юридического статуса.

Есть ли более элегантное решение?

Ответы

Ответ 1

Символ авторского права в ASCII пишется (c) или "Copyright".

См. кружок 61, Регистрация авторских прав для компьютерных программ.

Хотя верно, что юридический формализм (см. Циркуляр 1, Основы авторского права)

Символ © (буква C в круг) или слово "Авторское право" или аббревиатура "Copr."; и...

И также верно, что

Чтобы гарантировать защиту работа, защищенная авторским правом, во всех членах UCC страны, уведомление должно состоять из символ © (слово "авторское право" или аббревиатура неприемлема)

Вы можете прокрутить круглый 3 и 38a.

Это, однако, уже было проверено в суде. Это не интересная проблема. Если вы выполните поиск "(c), приемлемый для c-in-a-circle", вы обнаружите, что юристы все согласны с тем, что (c) является приемлемой заменой. См. Перл и Уильямс. См. Скотта по Законе об информационной технологии.

Ответ 2

В отличие от принятого ответа AFAIK, (c) не является официально признанной альтернативой символу авторского права, хотя я не уверен, что он был протестирован в суде.

Однако © является просто сокращением слова "авторское право". Высказывание "Copyright 2008 Robert Munro" идентично высказыванию "© 2008 Robert Munro"

Ваше "Авторское право: © 2008 и т.д." Расширяется до "Авторское право: Copyright 2008 и т.д."

Википедия, похоже, со мной согласна http://en.wikipedia.org/wiki/Copyright_symbol

В Соединенных Штатах уведомление об авторских правах состоит из трех элементов:  1. символ ©, или слово "авторское право" или аббревиатура "Copr."; ...

Ответ 3

Вы всегда можете вернуться к добрым старым (c)

Ответ 4

Ожидание Python 3k, где стандартная кодировка источника будет UTF-8?

Ответ 5

Для Python 2 "правильная" вещь - указать кодировку или никогда не использовать символы, отличные от ASCII. Задание кодировки упрощает работу с компилятором и людьми. Извините, но Python изначально указывал ASCII по умолчанию, еще в темные века.

Для Python 3 UTF-8 является кодировкой по умолчанию, поэтому все должно быть хорошо. В этом случае я бы рекомендовал не указывать кодировку, если вы используете значение по умолчанию.

Если язык разрешает/требует спецификацию кодирования или нет, в эпоху Unicode это проблема, которую мы должны иметь в виду для каждого "текстового" файла.

Ответ 6

Сначала поместите эту строку:

# -*- coding: utf-8 -*-