据说这里不会吃空格,试试看!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- # -*- version: 3.0 -*-
- import os
- class Pock():
- '''''麻点
- 麻点由一组有序的点组成,每个点由横坐标x和纵坐标y来唯一标识。
- 不同的点可以拥有相同的坐标。
- '''
- def __init__(self):
- '''''初始化麻点数据。'''
- self.points = [] # 保存麻点的序列
- def __str__(self):
- '''''(测试用)获得麻点的数据信息'''
- dump = ''
- for point in self.points:
- dump += '(%d,%d)' % point
- return dump
- def count(self):
- '''''获得麻点中点的个数。'''
- return len(self.points)
- def iterator(self):
- '''''按插入的顺序遍历每一个点'''
- for point in self.points:
- yield point
- def append(self, x, y):
- '''''向麻点内添加点。'''
- point = (int(x), int(y))
- self.points.append(point)
- def clear(self):
- '''''清除麻点内的所有点。'''
- self.points = []
- def save(self, filename):
- '''''将麻点数据保存到文件。
- filename - 文件名
- '''
- file = open(filename, 'w')
- for point in self.points:
- file.write('%d,%d/n' % (point[0], point[1]))
- file.close()
- def load(self, filename):
- '''''从文件中读入麻点数据。
- filename - 文件名
- '''
- newlist = []
- if os.path.exists(filename):
- file = open(filename, 'r')
- lines = file.readlines()
- file.close()
- for line in lines:
- point = line.strip().split(',')
- x = int(point[0])
- y = int(point[1])
- newlist.append((x, y))
- self.points = newlist
- if __name__ == '__main__':
- p = Pock()
- p.append(100, 200)
- p.append(32, 380)
- p.append(383, 18)
- p.append(506, 348)
- for x in p.iterator():
- print(x)
- print(dir(p))