文件的基本操作
文件的基本操作分为三步骤:1.打开文件
2.操作文件
3.关闭文件
1. 打开文件
关键字: open
f = open(r'a.txt', 'r', encoding='utf8') # f = open(r'a.txt', 'r', encoding='utf-8') print(f) # 操作系统打开的文件
# 当encoding=‘utf8’ 报错时,就换成 encoding=‘utf-8’。
2. 操作文件: 读、写
res = f.read() print(res) # 关闭文件:释放资源 f.close # 方式2: # with上下文管理器 with open('a.txt', 'r' ,encoding='utf8') as f: print(f.read())
文件的读写模式
r:read(读)
w:write(写)
a:append(追加写)
# 读模式 # 1. 路径不存在,直接保存 with open('a.txt', 'r', encoding='utf8') as f: pass #2. 路径存在 with open('a.txt', 'r', encoding='utf8') as f: print(f.read()) # 写模式 # 1. 路径不存在,会自动创建出文件 with open('a.txt', 'w', encoding='utf8') as f: pass ''' 我们真正的代码以后是运行在Linux系统里面的 ''' # 2. 路径存在 # 把文件内的原本数据清除掉,重新写入,覆盖之前所有的数据 # w模式很危险 with open('a.txt', 'w', encoding='utf8') as f: f.write(str()) # 写文件的数据类型必须是字符串和字节类型,其他类型都不能直接写入
# 3. 追加模式 # 3.1 路径不存在,会自动创建文件出来 with open('a.txt', 'a', encoding='utf8') as f1: f1.write('hello baby!') pass # 3.2 路径存在,在文件的原来数据后面继续追加新的内容 with open('a.txt', 'a', encoding='utf8') as f1: f1.write('hello baby!\n')
文件的操作方法
1. 读系列
# 1.读系列 with open('a.txt', 'r', encoding='utf8') as f: print(f.read()) # 一次读取文件的一行内容,一行一行的读取 print(f.readline()) # hello worldhello baby!hello baby! print(f.readlines()) # ['hello world\n', 'hello baby!\n','hello baby!\n', 'hello baby!\n'] \n 换行符也算是字符 # 判断文件是否可读 print(f.readable())
2. 写系列
# 2.写系列 with open('a.txt', 'w', encoding='uft8') as f: f.write('helllo baby') f.write(str(123)) # 只能写字符串 print(f.writebale()) # True print(f.readable()) # False f.writelines(['hello\n, 'world\n', 'kevin' ,'jack'])
文件的读操作优化
with open('a.txt', 'r' ,encoding='uft8') as f: print(f.read()) # 一次性把文件中的内容读取完毕read 方法是一次性读取文件的所有内容,所以,当文件内容非常大的时候,有可能会造成内存溢出,我们是不允许内存溢出的情况出现,但是当文件内容非常小的时候,无所谓了,针对上述出现的问题,该如何解决呢?
变量f是支持for循环的
for line in f: print(line) # for循环就是一行一行的读取内容的
'''
所以,以后读文件的时候,如果觉得文件很大,我们就是for循环一行一行的读取
'''
文件操作模式
t模式:text文本
r >>>> rt
w >>>> wt
a >>>> at
'''
1. 它是以字符串为基本单位
2.只能操作字符串形式
3.encoding参数必须写
'''
b 模式: bytes二进制模式
r >>>> rb
w >>>> wb
a >>>> ab
'''
1.b 不能省略,必须写rb
2.可以操作任意的数据类型:视频、音频、图片等都可以
3. encoding参数一定不能写
4. 数据以字节为单位
'''
标签:文件,encoding,utf8,操作,print,相关,txt,open From: https://www.cnblogs.com/chenr-2829/p/17428648.html