如何通过Python Shell执行.py文件?

-1 投票
2 回答
2120 浏览
提问于 2025-04-21 03:19

我正在使用IDLE图形界面。

我创建了一个叫做 doss.py 的文件,并且它保存在 C:\python34 这个位置。

现在在IDLE(图形界面)中,

我希望能够直接打开 doss.py,而不需要任何运行命令。

在python27中,我是这样做的:

>>> import doss.py 

这样做效果很好。

但是我不知道为什么它显示了一些红色的LOC。

这些是:

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    import doss.py
ImportError: No module named 'doss.py'; 'doss' is not a package

2 个回答

0

我可以肯定,在Python 2.7的标准命令行中,import doss.py不可能像你想的那样工作的。简单来说,导入一个模块并不等同于从命令行运行它,除非在某些情况下偶然发生。此外,任何版本的Python都不接受文件名(比如doss.py)作为import的参数;它一直以来都需要一个包名(如果当前目录下有一个叫doss.py的文件,那么包名可能是doss,但事情会变得更复杂)。

标准的Python交互式命令行从来没有提供过你想要的那种机制:也就是像从命令行那样加载和执行一个Python脚本。

你可以试试增强版的IPython命令行。IPython确实有一个%run命令,可以实现你想要的功能,而且还有很多其他的增强功能。

0

你没有一个叫做 doss.py 的模块。如果你的模块存储在一个名为 doss.py 的文件里,那么这个模块的名字就是 doss。所以你可以试着用 import doss 来导入它。

doss.py 会是 doss 模块的一个子模块,名字叫 py

撰写回答