如何将文件导入Python shell?

时间:2014-12-16 08:08:01

标签: python class python-2.7

我制作了一个使用名为Names的类的示例文件。它有它的初始化函数和一些方法。当我创建类的实例时,它会检索实例的名字和姓氏。其他方法迎接实例并说出一条离开消息。我的问题是:如何在不运行模块的情况下将此文件导入Python shell?

我的文件名是classNames.py,位置是C:\ Users \ Darian \ Desktop \ Python_Programs \ Experimenting

以下是我的代码:

 class Names(object):
     #first function called when creating an instance of the class
     def __init__(self, first_name, last_name):
         self.first_name = first_name
         self.last_name = last_name

      #class method that greets the instance of the class.
      def intro(self):
          print "Hello {} {}!".format(self.first_name, self.last_name)

      def departure(self):
          print "Goodbye {} {}!".format(self.first_name, self.last_name)

但我收到错误:

Traceback (most recent call last): 
  File "<pyshell#0>", line 1, in <module> 
    import classNames.py 
ImportError: No module named classNames.py

1 个答案:

答案 0 :(得分:2)

我不清楚您的期望和您所看到的内容,但是您的模块的处理与math和任何其他模块完全相同:

您只需导入它们即可。如果这是第一次发生,则获取并执行该文件。从外部可以获得运行它后在命名空间中留下的所有内容。

如果您的代码仅包含defclass语句和作业,则您不会注意到任何事情都会发生,因为,好吧,没有什么&#34;真的&#34;发生在这个时候。但是您可以使用类,函数和其他名称。

但是,如果您在顶层有print个语句,则会发现它确实已执行。

如果你在Python路径中的任何地方都有这个文件(无论是显式的还是因为它在当前的工作目录中),你可以像

一样使用它
import classNames

并使用其内容,如

n = classNames.Names("John", "Doe")

或者你做

from classNames import Names
n = Names("John", "Doe")

不要import classNames.py ,因为这会尝试从包py.py导入模块classNames/