打开和关闭文件
Python内使用置的open
函数来打开文件,通过函数的参数指定文件名、操作模式和字符编码等信息,对文件进行读写操作了操作模式是指要打开什么样的文件(字符文件或二进制文件)以及做什么样的操作(读、写或追加)。
open()函数源码
def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
操作模式 | 具体含义 |
---|---|
'r' |
读取 (默认) |
'w' |
写入(会先截断之前的内容) |
'x' |
写入,如果文件已经存在会产生异常 |
'a' |
追加,将内容写入到已有文件的末尾 |
'b' |
二进制模式 |
't' |
文本模式(默认) |
'+' |
更新(既可以读又可以写) |
- 如何设置
open()
的操作模式。
.png

在使用open
函数时,如果打开的文件是字符文件(文本文件)
,可以通过encoding
参数来指定读写文件使用的字符编码。了解字符编码和字符集看《字符集和字符编码》。
文件应用
- w和a模式:如果⽂件
不存在创建文件
- w模式
先清空再写入
,a模式直接末尾追加
。 - r模式:如果⽂件
不存在则报错
。
1.写文件
tiele = '''第一章
道可道,非常道。
名可名,非常名。
无名天地之始;有名万物之母。
故常无欲以观其妙;常有欲以观其徼。
此两者同出而异名,同谓之玄,玄之又玄,众妙之门。
'''
# 1.常规方式
f = open('道德经.text', 'w')
f.write(tiele)
f.close()
# 2.不需要调用close,a:追加写入
with open('道德经.text', 'a') as f:
f.write('不需要close()')
2.读文件
-
read:
按照文件读取所有;返回字符串 -
readlines:
按照行读取一行,返回可变字符串 -
readlines:
按照行读取所有,返回列
with open('道德经.text','r') as f:
text1 = f.read()
print(text)
print(type(text1))
print(len(text1))
print('------')
with open('道德经.text', 'r') as f:
text2 = f.readline()
print(text2)
print(type(text2))
print(len(text2))
print('------')
with open('道德经.text', 'r') as f:
text3 = f.readlines()
print(text3)
print(type(text3))
print(len(text3))
3.常用方法
with open('道德经.text', 'r') as f:
# 访问模式 :r
print(f.mode)
# 文件字符集 :UTF-8
print(f.encoding)
# 文件是否关闭 :False
print(f.closed)
# 文件内的当前位置 :0
print(f.tell())
# 移动光标开始点 .seek(偏移量量, 起始位置)
print(f.seek(1, 0))
print(f.readline())
网友评论