我需要使用 Python 读取坐标集文件。第一行会有一个数字,n,这是需要读取的坐标集的数量。第一行之后是 n 行,其中每行包含一个坐标对。
示例(在本例中,n = 4):
n
(x,y)
(x,y)
(x,y)
(x,y)
要注意的是文件中会有多个部分。所以第一个 n 可能是 10,有 10 组坐标,接下来的 n 可能是 20,有 20 组坐标跟着它。
截至目前,我只是分别读取坐标部分,但如果我可以读取文件中的任意数量的坐标部分,我会很高兴。
请您参考如下方法:
您可以使用 open()打开文件进行阅读,readline()逐行读取文件内容,int()将字符串转换为整数。
下面是使用这些部分的示例实现:
def read_coords(file_handle):
try:
nrecords = int(file_handle.readline())
except ValueError:
return False
return [file_handle.readline() for i in range(nrecords)]
coord_sets = []
with open("some.txt") as f:
coords = read_coords(f)
while coords != False:
coord_sets.append(coords)
coords = read_coords(f)
print "coord_sets =",coord_sets
