首页 > 解决方案 > 如何在 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

标签: pythonpython-3.xstringdnspython-3.7

解决方案


您可以随时调用.rstrip(".")输入!

>>> "foo".rstrip(".")
'foo'
>>> "foo.".rstrip(".")
'foo'

推荐阅读