以下是用户创建的函数,保存为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'未定义
使用变量或函数时出错。有人可以帮忙吗?
答案 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)
没有传递参数你的功能如何工作?