Python文件中指定编码时“魔法行”是如何工作的?
在一个Python文件的开头(第一行),我有时会看到
# -*- coding: utf-8 -*-
有时又会看到
# encoding: utf-8
这两行看起来都在做同一件事:指定文件中所有文本的编码为utf8。
我有两个问题:
- 为什么这样也能工作?我以为解释器会忽略
#
后面的内容,因为那是注释。 - 这两行之间有什么区别?解释器只是忽略了
-*-
吗?
在一个Python文件的开头(第一行),我有时会看到
# -*- coding: utf-8 -*-
有时又会看到
# encoding: utf-8
这两行看起来都在做同一件事:指定文件中所有文本的编码为utf8。
我有两个问题:
#
后面的内容,因为那是注释。-*-
吗?