使用 python 将文本文件分成 2 个列表

Dividing a text file into 2 lists using python

我有一个包含 IP 地址和端口列表的文本文件,其结构如下:

IP Port

例如:

212.212.212.212 80
111.111.111.111 8080

我已经使用 'open' 函数打开了带有 python 的文件并使用了 readlines(),我得到的是:

['xxx.xxx.xxx.xxx xxx\n','yyy.yyy.yyy.yyy yyy\n'...]

我如何将其分成 2 个 python 列表,其中一个包含 IP,另一个包含端口?

感谢您的回答!!

您可以使用 generator-expressions and zip 内置函数实现此目的。

data = ['212.212.212.212 80\n','111.111.111.111 8080\n']
result = zip(*((i.split()[0],i.split()[1]) for i in data))
print result[0], result[1]

产量:

('212.212.212.212', '111.111.111.111') ('80', '8080')

简单使用split().

l=[]
y=[]
for x in f.readlines():
    l.append(x.split()[0])   #list of ip addresses
    y.append(x.split()[1])   #list of ports

编辑:

x=['xxx.xxx.xxx.xxx xxx\n','yyy.yyy.yyy.yyy yyy\n']
l=[]

for i in x:
    l.append(i.split()[1])
print l
ips = []
ports = []
f = file('datafile.txt')
for line in f.readlines():
    ip,port = line.strip().split()
    ips.append(ip)
    ports.append(port)
f.close()

你可以使用split()

ipList = []
portList = []
F = open('inp.txt','r')
for line in F:
    ip, port = line.split()
    ipList.append(ip)
    portList.append(port)