我的部分脚本会ping PC,如果它们关闭,请将其名称写入txt文件。然后我需要做的是在另一个txt文件中搜索该PC名称(从我们的DHCP服务器导出)并找到它的mac地址,然后我可以用它来做其他事情。这个搜索部分导致了我的问题 - 它可能只是一个语法问题,但我无法通过第一个txt文件和其中的每个条目,搜索第二个txt文件并获取我需要的信息。
这是我到目前为止所拥有的:
with open (r"PCs_off.txt") as file:
lines = []
for line in file:
line = line.strip()
pcName = line
with open("dhcp-dump.txt", "r") as search:
for lines in search:
if pcName in lines:
lines_split = lines.rstrip("\n").split('\t')
mac = lines_split[4]
print mac
print pcName
(原谅标签,它只是脚本的这一部分位于更大的脚本中间。)
我认为问题在于if pcName in lines:
行 - 如果我在那里指定一个PC的名称,它会搜索并完美地工作,但是我需要它来搜索上面的PC名称文件。
我希望这一切都有意义......
略有不同; for line in file
行,它实际上是否必须被称为' line'或者我可以称之为其他什么?我只是因为称它为“线条”而问。似乎也有用......
答案 0 :(得分:0)
我尝试了与你的样品完全相同的样品,效果很好。你可以尝试调试一下pcName
变量吗?在print '<', pcName, '>'
行下添加pcName = line
:我想知道你得到的pcName
是否与你期望的一样......