python - 如何在 Python 中操作 FQDN 变量?
问题描述
我有一些功能代码正在做我想做的事情。它接受 DNS 响应,将响应分解为所有部分(即主机名、所有可选子域名、域名和 tld),然后从整个 DNS 响应中去除主机名和尾随点并显示整个域(带有可选子域)
请注意,“FQDN”的变量将是动态 DNS 响应和/或用户输入。
无论hte变量上是否有尾随点(即“hostname.domain.com”和“hostname.domain.com.”的函数),我如何设置代码以使其正常工作?
我也很好奇是否有人对如何在产生相同输出的同时整体改进此代码有任何建议。提前致谢!
fqdn = "computername.subdomainname1.subdomainname2.domainname.com."
dot, tld, domain, *sub_domains, hostname = fqdn.split(".")[::-1]
testname = fqdn.split(hostname + ".")
before = len("")
after = len(".")
parsed_testname = (testname[1][before:-after])
print(hostname)
print(parsed_testname)
输出是:
computername
subdomainname1.subdomainname2.domainname.com
解决方案
您可以随时调用.rstrip(".")
输入!
>>> "foo".rstrip(".")
'foo'
>>> "foo.".rstrip(".")
'foo'
推荐阅读
- java - 无法在 maven+cucumber 中运行测试
- html - 通过用撇号分隔的字符串中的反斜杠撇号替换撇号来修复 HTML
- python - 如何在 Python 或 C++ 中执行严格的整数优化?
- clojure - 为什么我在 Luminus (Clojure) 中看到参数不匹配错误?
- python - 如果行不包含熊猫中的模式,则使用 groupby 删除 groupbs
- javascript - 如何同步更新 mapbox gl 样式?
- swift - (SwiftUI) 将 Slider 和 TextField 绑定到同一个变量?
- laravel - Laravel + Nuxt - 如何在 VDS 中组合它们?
- cplex - 使用 PYOMO 在 CPLEX 日志上获取约束标签(非索引)
- python - 使用连续行作为 Y 轴的小提琴图