我需要使用某些服务器的IP和主机名创建重复的配置文件。该数据包含在一个类似于模拟数据的大列表中
192.168.0.1 - data info hosta
192.168.0.2 - data info hostb
192.168.0.3 - data info hostc
192.168.0.4 - data info hostb
此数据包含我不需要的任意信息,如以下各项:
- data info '
我有一个想法,我可以把拆分后的数据读入一个列表。 然后我可以在列表上循环,只指定列表中要显示的每个编号元素,只留下
192.168.0.1
192.168.0.2
...
然后将其放入一个只包含IP地址的新列表中。你知道吗
我创建了一个函数,可以将文件读入一个列表
def importlines():
mf = open('C:\\scripts\\nagios\\filename.txt','r')
lines = mf.read().split()
print(lines)
mf.close()
#the data is read in correctly
#I then attempted to create a blank list
hosts = []
#then append the output from the function call to the list
hosts.append(importlines())
但是,如果我执行主机.append(importlines())我又一次遇到了无,无。所以它似乎在列表中添加了一个不包含任何内容的元素。我试过执行死刑主机.append(print(importlines()))但是我有同样的问题。你知道吗
正如你所说,我是一个意外的系统管理员,在这方面没有任何经验。我也意识到这个问题,这将创建一个大的列表,在我的头脑中,我相信我需要一个包含每行列表的列表。我是不是有点不对劲了?你知道吗
谢谢你
你必须从函数中返回一些东西。print()语句不返回任何内容。 尝试以下操作:
您正在拆分整个文件,而不是每行。而且,您的函数只打印,实际上并不使用
return
将结果返回给调用者。你知道吗只返回ip地址列表。您可以将结果直接分配给
hosts
:您自己的代码在
importlines()
中没有返回任何内容,python函数的默认返回值是None
。你知道吗相关问题 更多 >
编程相关推荐