什么是文件操作
简单来说I/O操作就是由代码控制文件(File)的行为就叫I/O操作
文件操作可以做什么
I/O操作操作可以对文件进行增删改查等操作,只要是我们可以直接操作的
在I/O操作中都可以直接完成!
文件操作文本文件的写入
open(文件名)打开文件
open函数键的功能
1 open(1.文件名,file
2 文件查看模式,mode
3 缓冲,buffering
4 编码,encoding
5 错误处理,errors
6 新的一行用什么换行,newline
7 delimiter = ‘|’ 以 | 为分隔符
最后面还有一个 closefd 不用写出来默认就好(不知道干嘛的好像必须为True ,然后True 又是默认 就不管了)
mode 常用的文件查看模式
模 式 | 功能 |
---|---|
t | 文本模式 (默认) |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有 内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
其它
buffering :
如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
encoding: 推荐使用UTF8 或者 GBK(中文编码)
try:
file = open("data.txt", mode='r+', encoding='utf8')
c = file.read()
print(c)
for i in range(0,10):
file.write('Hello World \n')
file.write('************\n')
file.close()
except Exception as e:
print('打开文件报错:%s' %e)
with 写法
with 写法不必考虑打开后关闭文件
with open('data.txt',mode='r',encoding='utf8')as file:
print(file.read())
close()关闭文件
file.close() # 关闭文件