IO模式
| Mode | r | r+ | w | w+ | a | a+ |
|---|---|---|---|---|---|---|
| Read | + | + | + | + | ||
| Write | + | + | + | + | + | |
| Create | + | + | + | + | ||
| Cover | + | + | ||||
| Point in the beginning | + | + | + | + | ||
| Point in the end | + | + |

读取文件样例
例如读取以下文档中的数据:
1 | 5.1,3.5,1.4,0.2,Iris-setosa |
代码如下:
1 | # -*- coding: utf-8 -*- |
结果:
1 | 初始样本line 5.1,3.5,1.4,0.2,Iris-setosa |

注意:在windows下读取文件时,若使用D:\testIris.txt,会报IOError: [Errno 22] invalid mode ('r') or filename的错误,这个时候要改为D:\\testIris.txt或者D:/testIris.txt。
结果分析:
- 第一组print:初始样本因为第一行数据之后留有换行符,但是第二行没有换行符,所有造成第一次输出初始样本之后有一行的换行符号,但是第二组数据因为手动消除了换行,入上图所示,所以第二次输出没有换行。可以看到这里读数据的时候读取的是字符串形式。
- 第二组print:经过
strip()操作之后会清除掉开头结尾的空格或换行符号,此时还是字符串形式。 - 第三组print:进过
split(',')操作之后会以上面的str的,为分隔符,返回一个list。但是里面的每一个元素还是str形式。 - 第四组print:用 in 查找替换之后输出
- 第五组print:将list中的每一个元素都替换成浮点型,即可消去
''符号,这个时候所有的元素都是float类型,而不是str类型。 - 第六个print:将每一组的 line 添加到 data中组成一个新的list。
二维list删除某一列
1 | # -*- coding: utf-8 -*- |
结果:
1 | data: |
二维list删除某一行
1 | # -*- coding: utf-8 -*- |
结果:
1 | data: |

