为什么命名 python 文件“.py”没有突出显示
why does naming a python file ".py" have no highlighting
所以我制作了一个名为“.py”的 python 测试文件,并尝试输入一些代码。然后,没有语法突出显示。为什么会这样?此外,当我将名称更改为“test.py”时,会突出显示。我在 windows 10 上使用空闲,我也在我爸爸的电脑上试过,命名文件“.py”没有任何突出显示。
所有Python文件内部都是Pythonmodules,modules的名字是前面的字符串.py
。例如,文件 test.py
是一个名为 test
.
的模块
如果您正在创建一个仅命名为 .py
的文件,那么模块名称基本上什么都没有,这是无效的。
有关命名 Python 模块或包的更多信息,请阅读:PEP8 -- Style Guide for Python Code.
此外,对于 UNIX-like 操作系统和现代 Windows,以 .
开头的文件通常表示包含配置信息的 隐藏文件 .例如,bash 有一个名为 .bashrc
的配置文件,它会在每次 shell 启动时运行。
命名以句点开头的文件会做一些奇怪的事情。在 linux 中它是一个隐藏文件 而在 在 windows 10 中它是一个配置文件 所以它很可能不是recommended.try 不要命名以文字“.”开头的文件.它进行了一些奇怪的系统调用。所以你的文件没有被语法高亮
这是 idlelib.editor.EditorWindow 判断正在编辑的文件是否为 python 代码的方法。
def ispythonsource(self, filename):
if not filename or os.path.isdir(filename):
return True
base, ext = os.path.splitext(os.path.basename(filename))
if os.path.normcase(ext) in (".py", ".pyw"):
return True
line = self.text.get('1.0', '1.0 lineend')
return line.startswith('#!') and 'python' in line
没有名称(因为新)、.py(w) 扩展名或魔术注释(在 unix-like 操作系统上)的文件被假定为 python。 (忽略目录部分。)这里是 os.path.splitext
的行为,至少在 Windows.
>>> os.path.splitext('a.py')
('a', '.py')
>>> os.path.splitext('.py')
('.py', '')
.py
被视为没有扩展名,并且没有魔术注释,不被视为 python 代码。想了想,我不打算加特例代码来识别,因为这样的名字按照别人的解释是个坏主意。第一次看到这个问题
所以我制作了一个名为“.py”的 python 测试文件,并尝试输入一些代码。然后,没有语法突出显示。为什么会这样?此外,当我将名称更改为“test.py”时,会突出显示。我在 windows 10 上使用空闲,我也在我爸爸的电脑上试过,命名文件“.py”没有任何突出显示。
所有Python文件内部都是Pythonmodules,modules的名字是前面的字符串.py
。例如,文件 test.py
是一个名为 test
.
如果您正在创建一个仅命名为 .py
的文件,那么模块名称基本上什么都没有,这是无效的。
有关命名 Python 模块或包的更多信息,请阅读:PEP8 -- Style Guide for Python Code.
此外,对于 UNIX-like 操作系统和现代 Windows,以 .
开头的文件通常表示包含配置信息的 隐藏文件 .例如,bash 有一个名为 .bashrc
的配置文件,它会在每次 shell 启动时运行。
命名以句点开头的文件会做一些奇怪的事情。在 linux 中它是一个隐藏文件 而在 在 windows 10 中它是一个配置文件 所以它很可能不是recommended.try 不要命名以文字“.”开头的文件.它进行了一些奇怪的系统调用。所以你的文件没有被语法高亮
这是 idlelib.editor.EditorWindow 判断正在编辑的文件是否为 python 代码的方法。
def ispythonsource(self, filename):
if not filename or os.path.isdir(filename):
return True
base, ext = os.path.splitext(os.path.basename(filename))
if os.path.normcase(ext) in (".py", ".pyw"):
return True
line = self.text.get('1.0', '1.0 lineend')
return line.startswith('#!') and 'python' in line
没有名称(因为新)、.py(w) 扩展名或魔术注释(在 unix-like 操作系统上)的文件被假定为 python。 (忽略目录部分。)这里是 os.path.splitext
的行为,至少在 Windows.
>>> os.path.splitext('a.py')
('a', '.py')
>>> os.path.splitext('.py')
('.py', '')
.py
被视为没有扩展名,并且没有魔术注释,不被视为 python 代码。想了想,我不打算加特例代码来识别,因为这样的名字按照别人的解释是个坏主意。第一次看到这个问题