文件操作
Posted albatorss
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。
一.文件操作的基本流程
# 绝对路径 f = open(‘d:文件.txt‘, mode=‘r‘, encoding="utf-8") # 打开文件,内容(‘文件路径‘,打开模式,编码方式) a = f.read() # 对文件进行的操作 print(a) f.close() # 关闭程序 # 相对路径 f = open(‘文件操作‘, mode=‘r‘, encoding="utf-8") a = f.read() print(a) f.close()
二.文件的打开模式
1. 打开文件的模式有(默认为文本模式):
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
# a :阿瑟东阿萨斯法 f = open(‘a‘, mode=‘w‘, encoding=‘utf-8‘) content = f.write(‘as‘) # a:as
a, 只追加写模式【不可读;不存在则创建;存在则只追加内容】
# a:阿瑟东阿萨斯法as f = open(‘a‘, mode=‘a‘, encoding=‘utf-8‘) content = f.write(‘阿萨大‘) f.close() # a:阿瑟东阿萨斯法as阿萨大
2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式
rb
wb
ab
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
3,‘+’模式(就是增加了一个功能)
r+, 读写【可读,可写】
w+,写读【可写,可读】
a+, 写读【可写,可读】
4,以bytes类型操作的读写,写读,写读模式
r+b, 读写【可读,可写】
w+b,写读【可写,可读】
a+b, 写读【可写,可读】
三.操作
read 按字符定光标
a :阿瑟东阿萨斯法 f = open(‘a‘, mode=‘r‘, encoding=‘utf-8‘) content = f.read(3) print(content) f.close() # 阿瑟东
seek 按字节定光标(英文一个字符一个字节,中文三个字节一个字符)
# a :阿瑟东 f = open(‘a‘, mode=‘r+‘, encoding=‘utf-8‘) f.seek(3) content = f.read() print(content) f.close() # 瑟东
# b: abcdefg f = open(‘‘, mode=‘r+‘, encoding=‘utf-8‘) f.seek(3) content = f.read() print(content) f.close() # defgh
tell 告诉你光标的位置
f = open(‘a‘, mode=‘r+‘, encoding=‘utf-8‘) content = f.tell() print(content) f.close() #输出 0
readline 一行一行的读
readlines 每一行当当成列表中的一个元素,然后添加到列表
truncate 截取
# b: abcdefg f = open(‘b‘, mode=‘r+‘, encoding=‘utf-8‘) f.truncate(3) content = f.read() print(content) f.close() #输出 abc
for line in f 将文件里的内容一行一行的输出
with open 不用close
以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章