如何通过python shell执行.py文件..?

时间:2014-09-11 15:43:04

标签: python python-2.7 python-3.x

我正在使用IDLE GUI 我创建了一个名为 doss.py 的文件,它保存在C:\ python34

现在在IDLE(GUI)

我希望doss.py在没有任何RUN命令的情况下打开。 在python27我使用

>>> import doss.py 

它工作得很好

bt idk为什么它以红色显示一些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 :(得分:0)

您没有名为doss.py的模块。如果模块存储在名为doss.py的文件中,则该模块名为doss。所以试试import doss

doss.py将是doss名为py的子模块。

答案 1 :(得分:0)

我非常确定import doss.py 在Python 2.7的标准shell中工作,至少不是你想象的那样。简单地说,import - 一个模块并不等同于从命令行运行它,除了在某些情况下无意中。此外,没有任何版本的Python接受文件名(例如doss.py)作为import的参数;它一直是一个包名(如果当前目录中有一个名为doss的文件,可能是doss.py,但是it gets more complicated)。

标准的Python交互式shell从未包含一种机制来完成您想要的任务:从命令行粗略地加载和执行Python脚本。

您可能希望尝试使用增强型IPython shell。除了许多其他增强功能之外,IPython还有%run command that does what you want