【问题标题】:Python interpreter not working with imported modules?Python解释器不适用于导入的模块?
【发布时间】:2016-01-20 12:25:44
【问题描述】:

好的。所以我在functions.py下的文本编辑器中写了一堆函数

当我将 functions.py 导入我的 python 解释器时,它告诉我我保存在 functions.py 文件下的所有内容都没有定义。

例如,我在functions.py中有一个名为color的变量。

color = "Red"

当我在解释器中打印颜色时,它说“颜色未定义”。

为什么我的解释器不记得我的函数或变量,即使我能够导入文件?

【问题讨论】:

  • 你是怎么导入的?请显示确切的代码。
  • 另外,请阅读this
  • 我用过:导入函数。然后我尝试输入 print color 和 print functions.color,但这些都没有在我的解释器中定义,即使在我的 functions.py 文件中明确指出 color = "Red"
  • 那么你需要展示更多的functions.py。如果您刚刚自己定义了这样的颜色,那么 functions.color 应该可以工作;如果没有,那么您还没有在函数内部的模块级别定义颜色。
  • 它说:AtributeError: 'module' object has no attribute 'color'

标签: python django


【解决方案1】:

你是这样做的吗?:

> cat functions.py 
colors = 'red'
> python          
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from functions import *
>>> colors
'red'
>>> 

【讨论】:

  • 为什么我必须重新定义“颜色”,如果它已经在我的 functions.py 文件中并且我正在导入它?我已经在 functions.py 中定义了它,但解释器没有选择它。
  • 好的,我发现了问题。这是因为“颜色”在名为“颜色”的类中。变量“颜色”不是通用的,所以要从“颜色”类中打印它,我必须输入:print functions.colors.color,最后我得到了红色。
【解决方案2】:

首先,在脚本的同一个文件夹中午餐解释器然后你必须调用颜色

1

import functions
print functions.color

2

from functions import color
print color

你得到打印的颜色值

【讨论】:

  • 所以我做了步骤 1.import 函数。然后我输入 print functions.color 并收到此错误消息:AtributeError: 'module' object has no attribute 'color' 即使在我的 functions.py 文件中明确定义了颜色并且我导入了它!
  • 好的,我发现了问题。这是因为“颜色”在名为“颜色”的类中。变量“颜色”不是通用的,所以要从“颜色”类中打印它,我必须输入:print functions.colors.color,最后我得到了红色。
【解决方案3】:

我发现了问题。如果 'color' 不在类中,则以下代码会起作用。

import functions
print functions.color

但由于变量颜色位于名为“colors”的类中,因此我还必须定义“colors”以供解释器拾取。

import functions
print functions.colors.color
Red

【讨论】:

    猜你喜欢
    • 2017-03-05
    • 2012-04-06
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多