首页 > 解决方案 > Python,提取字典值

问题描述

我正在尝试从字典对象中提取一些值并将其分配给局部变量。看到这个:

FTP_INFO = {'DATA': {'host': 'ftp.host.com',
                     'user': 'user',
                     'pass': 'password',
                     'path': '/home/user'}}

然后我试试这个:

v_host = FTP_INFO['DATA']['host']
print("HOST: ", v_host)

我明白了:

print("HOST: ", v_host)

NameError: name 'v_host' is not defined

然而,这很好用:

print("HERE: " + FTP_INFO['DATA']['host'])

我错过了什么吗?

标签: python

解决方案


我粘贴了这个确切的代码(从你的问题中我可以看出你正在运行什么):

FTP_INFO = {'DATA': {'host': 'ftp.host.com',
                     'user': 'user',
                     'pass': 'password',
                     'path': '/home/user'}}
v_host = FTP_INFO['DATA']['host']
print("HOST: ", v_host)

进入 Python 解释器并得到以下输出:

>>> FTP_INFO = {'DATA': {'host': 'ftp.host.com',
...                      'user': 'user',
...                      'pass': 'password',
...                      'path': '/home/user'}}
>>> v_host = FTP_INFO['DATA']['host']
>>> print("HOST: ", v_host)
HOST:  ftp.host.com

所以这很好用。当您发现您实际运行的代码与我在上面粘贴的代码之间的差异时,您希望能够找到为什么它不工作的答案。


推荐阅读