《Python学习之路 -- Python基础之文件处理》

在python中提供了 open() 方法用于打开或创建一个文件,如果文件不存在则创建,如果文件存在则打开。

def open(file,mode='rt',buffering=None,encoding=None,errors=None,newline=None,closefd=True):
    pass

# 第一个参数 file 是指文件的路径,包括绝对路径和相对路径,在模块根目录下的文件可以直接写文件名(包括后缀)

# 第二个参数 mode 指访问文件的模式,默认值 rt 代表只读,除此以外,还有:
# r  --  只读模式(默认模式)
# w  --  写入模式
# a  --  追加模式,写入内容追加至文件末尾
# x  --  创建一个新的文件并打开它写入内容
# b  --  二进制模式
# t  -- 文本模式(默认模式)
# +  -- 更新模式
# 一般情况下使用 t 文本模式,仅在处理二进制文件时需要使用 b 模式,更新模式一般都与其他三个基本模式 r w a 一起配合使用,r+,w+,a+都代表可读可写,具体差异见后面附表。

# 第三个参数 buffering 是一个可选的整数,用于设置缓冲策略。

# 第四个参数 encoding 用于设置编码或解码的编码名称,默认与操作系统的编码一致。

# 第五个参数 errors 用于指定错误编码如果进行。

# 第六个参数 newline 用于设置换行符。

# 第七个参数 closefd 如果为False,则表示文件描述符保持打开。

# open()方法返回的是一个文件对象,通过该对象可以对文件进行操作,write()方法用于向文件中写入内容,read()方法用于读取文件,默认读取全部内容,close()方法用于关闭文件。
f_test = open('test.txt','w')
# 向文件中写入内容
f_test.write('hello jonas')
# 关闭文件
f_test.close()

# 打开并读取文件内容
f_test2 = open('test.txt')
f_data = f_test2.read()
print(f_data)  # hello jonas
f_test2.close()

# 追加内容
f_test3 = open('test.txt','a')
f_test3.write('\nhello tom')
f_test3.close()

# 注意:w 模式是相当于重写文件,写入内容会将以前保存的所有内容覆盖

除了以上几个基本方法以外,文件对象还有很多内置的方法:

# offset 表示偏移量,正值往后,负值往前;from表示方向,其中0代表文件开头,1代表指针当前位置,2代表文件末尾
f.seek(offset,from)

# 该方法用于获取文件指针的位置
f.tell()

# 该方法用于刷新文件
f.flush()

# 该方法将读取文件所有内容,文件中的每一行作为列表的一个元素,结果返回这个列表
f.readlines()

# 读取一行
f.readline()

猜你喜欢

转载自www.cnblogs.com/jonas-von/p/8974839.html
今日推荐