Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7:全局名称';日志';没有定义吗?_Python_Python 2.7 - Fatal编程技术网

Python 2.7:全局名称';日志';没有定义吗?

Python 2.7:全局名称';日志';没有定义吗?,python,python-2.7,Python,Python 2.7,我有一个正常工作的脚本,但突然我开始收到以下错误: File "/home/user/Documents/myscript.py", line 100, in getResults results = (log(output_list[1]) * 30) NameError: global name 'log' is not defined 脚本正常使用同一行,但现在不行。我一点也不知道这里发生了什么事?我猜您正在尝试使用math.log函数 您需要: import math ...

我有一个正常工作的脚本,但突然我开始收到以下错误:

 File "/home/user/Documents/myscript.py", line 100, in getResults
    results = (log(output_list[1]) * 30)
NameError: global name 'log' is not defined

脚本正常使用同一行,但现在不行。我一点也不知道这里发生了什么事?

我猜您正在尝试使用
math.log
函数

您需要:

import math
...
results = (math.log(some_string[1]) * 30)
或:


您一定缺少导入语句。

请尝试在脚本顶部添加
导入数学

$ python
Python 2.7.3 (default, Jan 21 2013, 09:25:42)
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.log(10)
2.302585092994046

在代码开始时


从数学导入日志中

您应该显示myscript.py的整个代码。
log
在哪里定义?@tasty:没有内置的。正如@alecxe所说,请发布整个脚本。您/某人可能在不知不觉中删除或修改了
导入
语句。作为旁注,没有理由在整个表达式周围加括号,这会使您的代码更难阅读(是
*30
而不是
日志
,还是外部?),您的变量名似乎很容易引起误解。如果
some\u string
实际上是一个字符串,那么
some\u string[1]
就是一个单字符字符串,如果你把它传递给
log
你只会得到一个
类型错误<代码>从数学导入日志
将,就像导入数学
然后
log=math.log
一样。非常正确。最好找到名称冲突,解决它,然后改为使用这种导入样式。
$ python
Python 2.7.3 (default, Jan 21 2013, 09:25:42)
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.log(10)
2.302585092994046