今天学习了python的文件读写,可以说是第一次真正的了解一个文件打开后操作的每步,之前用c写文件读写的操作的代码,都是一知半解,这次可以说是一步一步的学习从打开到关闭之间的过程。
先引入两个python关于文件操作的操作方法的表格:
(图片转载自wuza小甲鱼系列入门练习15)
open(file, mode='r', buffering=None, encoding=None,
errors=None, newline=None, closefd=True)
可以看到open()函数定义时,仅仅只有第一个file参数必填,其他都有默认值,目前我所学的程度,只需要理解file参数,和第二个mode参数;
file参数:文件的路径
可以从open()的定义里查看函数文档得知:
打开模式 | 模式内容 |
---|---|
‘r’ | open for reading (default) |
‘w’ | open for writing, truncating the file first |
‘x’ | create a new file and open it for writing |
‘a’ | open for writing, appending to the end of the file if it exists |
‘b’ | binary mode |
‘t’ | text mode (default) |
‘+’ | open a disk file for updating (reading and writing) |
‘U’ | universal newline mode (deprecated) |
The default mode is ‘rt’ (open for reading text)
可以看到默认的模式是以文本模式打开,只读。
1. f=open('D:\\hello.txt','rt') # r 只读 t以文本模式打开
2. f=open('D:\\test.txt','w') # w 写入
c里一定要关闭文件 可能会造成内存泄漏; 虽然python里有垃圾回收机制,但是最好还是养成关闭文件的习惯
f.close()
f=open('D:\\hello.txt','rt') ![这里写图片描述](https://img-blog.csdn.net/20180822123048762?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FrYV9IYXBweQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
print(f.read(-1))
f.close()
f=open('D:\\hello.txt','rt')
# r 只读 t以文本模式打开 可以用\\ 也可以用/
print(f.read(5))
print(f.tell())
f.seek(7,0)
print(f.readline())
#readline 读取剩余的一行
f=open('D:\\test.txt','w') # w 写入
print(f.write('i love 猪文豪!')) #返回写入字符个数
f.close()
f=open('D:\\hello.txt','rt')
f.seek(0,0)
lines = list(f)
print(lines) #输出列表
for eachline in lines:
print(eachline) #输出文字
f.close()
列表输出结果:
f=open('D:\\hello.txt','rt')
f.seek(0,0)
for eachline in f:
print(eachline)
f.close()