无法将函数导入到其他脚本中

时间:2018-02-09 05:42:53

标签: python

以下是用户创建的函数,保存为functions.py

def commands():    

    if len(a) > len(b):

        print(list(set(a) - set(b)))

    else:

        print(list(set(b) - set(a)))

    return

以下是我尝试导入功能的脚本

import paramiko

from functions import commands

a = ['aa', 'bb', 'cc', 'dd']

b = ['aa', 'bb',]

print commands()

但我收到错误

NameError:全局名称' a'未定义

使用变量或函数时出错。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

def commands(a,b):    

    if len(a) > len(b):

        print(list(set(a) - set(b)))

    else:

        print(list(set(b) - set(a)))

    return

import paramiko

from functions import commands

a = ['aa', 'bb', 'cc', 'dd']

b = ['aa', 'bb',]

commands(a,b)

你不能指望它在不传递变量的情况下知道变量。

答案 1 :(得分:1)

你应该在使用之前分配参数,然后在其中传递参数调用该函数。像...

#function.py
def commands(a,b):
    if len(a) > len(b):
        print(list(set(a) - set(b)))
    else:
        print(list(set(b) - set(a)))
    return

#scripy.py

import paramiko

from functions import commands

a = ['aa', 'bb', 'cc', 'dd']

b = ['aa', 'bb',]

commands(a,b)

没有传递参数你的功能如何工作?