将版权符号放入Python文件中

时间:2008-10-21 10:15:17

标签: python encoding

我需要在我生成的每个Python源文件的顶部包含版权声明:

#   Copyright: © 2008 etc.

但是,当我运行这样的文件时,我收到了这条消息:

SyntaxError:第3行文件MyFile.py中的非ASCII字符'\ xa9',但未声明编码;有关详细信息,请参阅http://www.python.org/peps/pep-0263.html

显然Python对版权符号不满意,因为它假定源文件全部是ASCII。要么我需要让我的第一行成为:

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

告诉Python我正在使用拉丁语编码,或者我可以将版权声明更改为:

#   Copyright: \xa9 2008 etc.

可能没有相同的法律地位。

有更优雅的解决方案吗?

6 个答案:

答案 0 :(得分:32)

ASCII中的版权符号拼写为(c)或“Copyright”。

见第61号通函Copyright Registration for Computer Programs

虽然法律形式主义(见第1号通函Copyright Basics)确实是

  

符号©(a中的字母C.   圈子),或“版权”,或   缩写“Copr。”;和...

而且

也是如此
  

保证保护   所有UCC成员的版权作品   国家,通知必须包括   符号©(“版权”一词或   缩写是不可接受的)

您可以浏览循环338a

然而,这已经在法庭上进行了测试。这不是一个有趣的问题。如果您搜索“(c)可以接受c-in-a-circle”,您会发现律师都同意(c)是可接受的替代品。见珀尔和威廉姆斯。参见斯科特信息技术法。

答案 1 :(得分:7)

与接受的答案相反,AFAIK,(c)不是官方认可的版权符号替代品,但我不确定它是否已在法庭上进行过测试。

然而,©只是对版权一词的缩影。说“Copyright 2008 Robert Munro”与说“©2008 Robert Munro”

相同

您的“版权:©2008等”扩展到“版权:版权所有2008等”

维基百科的页面似乎同意我http://en.wikipedia.org/wiki/Copyright_symbol

在美国,版权声明包含三个要素:    1.©symbol,“Copyright”或缩写“Copr。”; ...

答案 2 :(得分:3)

首先放上这一行:

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

答案 3 :(得分:2)

你总是可以恢复到好的旧(c)

答案 4 :(得分:2)

等待Python 3k,其中源的默认编码是UTF-8?

答案 5 :(得分:1)

对于Python 2,“正确”的事情是指定编码,或从不使用非ASCII字符。指定编码使编译器和人类更简单。很抱歉,但Python最初将ASCII指定为默认值,回到了黑暗时代。

对于Python 3,UTF-8是默认编码,所以你应该没问题。在这种情况下,如果您使用默认值,我建议不要指定编码。

语言是否允许/需要编码规范,在Unicode时代,这是我们需要记住的每个“文本”文件的问题。