为什么命名python文件“ .py”没有突出显示

问题描述

因此,我正在制作一个名为“ .py”的python测试文件,然后尝试键入一些代码。然后,没有语法高亮显示。为什么会这样呢?另外,当我将名称更改为“ test.py”时,它会突出显示。我在Windows 10上使用了闲置功能,并且还在父亲的计算机上尝试过使用,并命名文件“ .py”没有突出显示

解决方法

所有Python文件在内部都是Python 模块,而模块的名称是.py之前的字符串。例如,文件test.py是名为test的模块。

如果要创建仅命名为.py的文件,则模块名称本质上为空,这是无效的。

有关命名Python模块或软件包的更多信息,请阅读:PEP8 -- Style Guide for Python Code.


此外,对于类似UNIX的操作系统和现代Windows,以.开头的文件通常表示包含配置信息的隐藏文件。例如,有一个名为.bashrc的bash配置文件,该文件在每次shell启动时都会运行。

,

这是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的操作系统上)的文件被认为是python。 (忽略目录部分。)这是os.path.splitext的行为,至少在Windows上如此。

>>> os.path.splitext('a.py')
('a','.py')
>>> os.path.splitext('.py')
('.py','')

.py被视为没有扩展名,并且没有魔术注释,也不被视为python代码。考虑一下之后,我不愿意添加特殊情况的代码来识别它,因为这样的名称是一个不好的主意,正如其他人所解释的那样。这是我第一次看到这个问题。

,

以句点开头命名文件有些奇怪。在 Linux中,这是一个隐藏文件;在Windows 10中,是配置文件,因此极有可能不建议这样做。请不要命名以文字'开头的文件。 ' 。它使一些奇怪的系统调用。因此您的文件不会被语法突出显示