本例为讲解数据的写入操作及其指针的使用。
首先我们先讲解一下数据的文件写入方法:
操作方法 描述
<f>.write(s) 向文件写入一个字符串或字节流
>>>f.write("中国是一个伟大的国家!")
<f>.writelines(lines) 将一个元素全为字符串的列表写入文件
示例: >>>ls = ["中华", "人民", "共和国"]
>>>f.writelines(ls)
中华人民共和国
<f>.seek(offset) 改变当前文件操作指针的位置,offset含义如下:
0 – 文件开头; 1 – 当前位置; 2 – 文件结尾
示例:>>>f.seek(0) #回到文件开头
举一个例子:
源程序:
fo = open("output.txt","w+")
ls = ["中华", "人民", "共和国"]
fo.writelines(ls)
for line in fo:
print(line)
fo.close()
运行结果:
运行结果为空,为什么会发生这样的情况呢?
在我们使用fo.writelines(ls)函数进行写操作时,此时指针默认指向下一行,所以输出为空,我们应该在数据写入完成后将其指针重新指向第一行在进行操作。
修改后的程序如下:
fo = open("output.txt","w+")
ls = ["中华", "人民", "共和国"]
fo.writelines(ls)
fo.seek(0)
for line in fo:
print(line)
fo.close()
运行结果:
这时程序运行出了我们想要的结果,在Python读写操作中要时刻注意由于指针的变化造成的程序不报错但结果不对的状况。
版权声明:
本文中所有文字、图片版权均属本人所有,如需转载请注明来源。