如何通过Python Shell执行.py文件?
我正在使用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
。