繁体   English   中英

转换为字符串后如何从字典值中检索最后5个字符

[英]How to retrieve the last 5 characters from dictionary value after converting to string

我正在编写一个登录到服务器并通过 api 提取路由器数据的 Python 脚本。 然后使用提取的数据创建一个字典,以路由器名称为键,以 telnet url 为键。 以下是收集到的 url 的示例。

telnet://192.168.1.113:32769

telnet 端口是 url 的最后 5 个字符,我试图仅提取该信息。 我知道我可以使用一个字符串 (-5),但出现以下错误。

 Traceback (most recent call last):
  File "C:\Users\b\Documents\Atom Test1 Project\test_wip.py", line 41, in <module>
    test_value2=test_value.split(-5)
TypeError: must be str or None, not int
[Finished in 1.812s]

我认为这意味着我需要将其转换为字符串。 我尝试转换然后检索最后 5 个字符,但它不起作用。 这是我的代码。

from __future__ import unicode_literals, print_function
import eve
import json
import time
from netmiko import ConnectHandler, redispatch
#from resteve import eve

import json
address = '192.168.1.113'
instance = m11.Server(address)
instance.login('admin', 'password', '0')
users = instance.get_all_nodes()
payload = json.loads(users.content)
data = payload['data']

users = instance.get_all_nodes()
payload = json.loads(users.content)
data = payload['data']

for item in payload["data"].values():
    result[item["name"]] = item["url"]
    test_value=item['url']
    print(test_value)
    test_value.format(str)
    test_value2=test_value.split(-5)
    print(test_value2)

我是新手,仍然把它放在一起,所以非常感谢任何帮助。 谢谢。

要获得最后 5 个字符,请使用索引test_value[-5:] ,因为.split()需要一个字符串,在这里它将尝试拆分第一个参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM