Where does this come from: -*- coding: utf-8 -*-

前端 未结 4 1190
你的背包
你的背包 2020-11-30 17:29

Python recognizes the following as instruction which defines file\'s encoding:

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

I definitely saw this kind of instru

相关标签:
4条回答
  • 2020-11-30 17:48

    # -*- coding: utf-8 -*- is a Python 2 thing. In Python 3+, the default encoding of source files is already UTF-8 and that line is useless.

    See: Should I use encoding declaration in Python 3?

    pyupgrade is a tool you can run on your code to remove those comments and other no-longer-useful leftovers from Python 2, like having all your classes inherit from object.

    0 讨论(0)
  • 2020-11-30 18:01

    This is so called file local variables, that are understood by Emacs and set correspondingly. See corresponding section in Emacs manual - you can define them either in header or in footer of file

    0 讨论(0)
  • 2020-11-30 18:04

    This way of specifying the encoding of a Python file comes from PEP 0263 - Defining Python Source Code Encodings.

    It is also recognized by GNU Emacs (see Python Language Reference, 2.1.4 Encoding declarations), though I don't know if it was the first program to use that syntax.

    0 讨论(0)
  • 2020-11-30 18:08

    In PyCharm, I'd leave it out. It turns off the UTF-8 indicator at the bottom with a warning that the encoding is hard-coded. Don't think you need the PyCharm comment mentioned above.

    0 讨论(0)
提交回复
热议问题