python - 转换为字符串后如何从字典值中检索最后 5 个字符
问题描述
我正在编写一个 Python 脚本,该脚本登录到服务器并通过 api 提取路由器数据。然后使用提取的数据创建一个字典,其中路由器名称作为键,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 个字符,请使用 indexing test_value[-5:]
,因为.split()
需要一个字符串,在这里它将尝试在第一个参数上拆分
推荐阅读
- python - 为特定的 python3 版本(3.7)问题安装 pip
- python-3.x - 由于不可广播的输入操作数,逆变换失败
- mysql - 如何在不同的表中一次编写 3 行的 if 条件
- .net - 如何在 mongodb 集合中检索数组中的所有对象
- c - 有没有办法防止 Vscode 在导航代码时切换窗口?
- java - 在 pdf 文件中编写 omr
- javascript - api端点给出未定义
- swift - 那么在 Apple AppStore 中指向我的应用程序的正确链接是什么?
- database - 根据大于或小于使用python请求的某个值从elasticsearch中检索数据
- pandas - 如何摆脱 Python 中日期时间的毫秒数