文件的操作
对文件的操作大致分为3类
第一类为r(只读):
当进行只读操作时,无法对文本进行更改。注意:当进行r操作时光标会移至最前方从而读取光标后的内容。
第二类为w(只写):
当进行只写操作时,无法对文件进行读取操作。注意:当进行只写操作时会情况文件里的内容。
第三类为a(只追加):
当进行只追加操作时,无法读取内容。注意:当进行只追加操作时光标会移至末尾并在末尾添加操作。
具体操作为:
f=open('打开的文件',mode='操作模式',encoding='编码方式')
f.close
例如:
f=open('a.txt',mode='r',encoding='utf-8'):
print(f.read())
f.close()
但你接触刚开始是不是发现很容易忘记f.close()呢?
那么这就有个很好解决问题的方法了
我们将f=open('打开的文件',mode='操作模式',encoding='编码方式')更改为
with open('打开的文件',mode='操作模式',encoding='编码方式')as f:
这样你就算忘记f.close,with也会自动帮你关闭文件的操作了。
以上都是关于t也就是文本有关的操作了
现在说说b也就是byte了。
b模式与t模式不同的是t仅仅只能针对文本文件,而b能针对所有文件。但与之相对的是通过b模式的输入和输出需要特定的格式来使用。其他用法与t相同
关于对文件的操作的指令
readline:一次读一行
readlines:一次读多行
注意:f.read()与f.readlines()都是将内容一次性读入内存,如果内容过大会导致内存溢出。而readline是一行行读入不会对内存进行浪费。
writelines():多行写入
flush: 刷新文件内容
对文件中的光标进行操作的指令
seek(n,模式):
n指的是移动的字节个数:
当n>0时光标向右移动
当n<0时光标向左移动
模式指的是012相对应的操作:
当数为0时光标移至最前方
当数为1时光标留在原地不变
当数为2时光标移至最后方。
tell() # 获取文件指针当前位置