Python新手,学习如何使用类。我定义了一个类,它有一个“create”方法,该方法使用一个参数(private_key)作为命令的一部分来创建令牌
命令如下:
jwt.encode(payload, private_key, algorithm="RS256", headers=additional_headers).decode("utf-8")
我使用类外的函数来填充变量private_key
下面是代码(myToken.py):
class MyTokenMgr():
def __init__(self):
pass
def create(self, privkey, email):
<MORE CODE HERE TO CREATE TOKEN>
# Function to load key from file
def load_privkey(privkey_filename):
with open(privkey_filename, 'r') as f:
data = f.read()
return data
#Read the private local key
private_key = load_privkey('testkeys/jwt-key')
print('This is the local private key:', private_key)
这是我的问题。当我从命令行本地运行python时。我想测试对象的实例化。但是,我得到了NameError,并且变量没有定义 :
$ python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from lib.myToken import MyTokenMgr
This is the local private key: -----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEAtr454soMHt7IYU+9mM6OmtzOK/i2ajNwtybYY/fQf3vMOUt8
'''
'''
-----END RSA PRIVATE KEY-----
>>> newtoken = MyTokenMgr()
>>> newtoken.create(private_key,'test@gmail.com')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'private_key' is not defined
您可以看到,我打印了变量,以便查看键并确认变量使用了它。那么为什么我仍然得到未定义的错误呢? 我误解了什么概念?谢谢你的帮助
您只导入符号
MyTokenMgr
。如果要导入其他符号,则在导入时还需要指定它们:相关问题 更多 >
编程相关推荐