python入门文件读取与写入_Python入门教程 文件读取与写入

Python中的文件是对象。

通过open() 打开一个文件,获取一个文件对象,然后对文件进行读写操作,如下示例。

# 读写打开一个UTF-8编码格式文件,如果文件不存在则创建file= open(r'F:.txt', mode='w+', encoding='UTF-8')# open()打开一个文件,返回一个文件对象file.write('Hello! Woodman') # 写入文件file.seek(0) # 光标移动到文件开头file_content = file.read() # 读取整个文件内容print(file_content)file.close() # 关闭文件

一、open()打开文件获取文件对象

open() 函数参数说明

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

open()函数用于打开一个文件,创建一个 file 对象,改对象的相关的方法才可以被调用对文件进行读写。

file 文件的路径,需要带上文件名包括文件后缀(c:\1.txt)

mode 打开的方式(r,w,a,x,b,t,r+,w+,a+,U)

buffering 缓冲的buffering大小, 0,就不会有寄存。1,寄存行。大于 1 的整数,寄存区的缓冲大小。负值,寄存区的缓冲大小为系统默认。

encoding 文件的编码格式(utf-8,GBK等)

常用文件的打开模式(完整列表见附件)

r 以只读方式打开文件。文件的指针会放在文件的开头。

w 以写入方式打开文件。文件存在覆盖文件,文件不存在创建一个新文件。

a 以追加方式打开文件。如果文件已存在,文件指针放在文件末尾。如果文件不存在,创建新文件并可写入。

r+ 打开一个文件用于读写。文件指针会放在文件的开头

w+ 打开一个文件用于读写。文件存在覆盖文件,文件不存在创建一个新文件。

a+ 打开一个文件用于读写。如果文件已存在,文件指针放在文件末尾。如果文件不存在,创建新文件并可写入。

记忆方法:记住r读,w写,a追加,每个模式后加入+号就变成可读写。

file= open(r'F:.txt', mode='w', encoding='UTF-8')

二、文件的读取与写入

文件读取:

file.read([size]):读取文件(读取size个字节,默认读取全部)file.readline()):读取一行file.readlines():读取完整的文件,返回每一行所组成的列表

本地目录新建一个文件woodman.txt,文件内容如图:

f815a4025bb4e9bec4233915cce586f2.png

示例:

file = open('woodman.txt', encoding='utf-8')print(file.read(18)) # 读取18个字符,注意中文字符一个字为1个字符print('-------')print(file.read()) # 读取剩下的所有的文本,光标位置在上次读取结束的位置print('-------')file.seek(0,0) # 移动光标到文件开头print(file.readline()) # 读取一行print('-------')file.seek(0,0) # 移动光标到文件开头print(file.readlines()) # 读取文件,返回每一行所组成的列表file.close() # 关闭文件

输出结果:

Hello, woodman.你好-------!木头人。朋友们,大家好。-------Hello, woodman.-------['Hello, woodman. ', '你好!木头人。 ', '朋友们,大家好。']

注意:文件读取后光标停止在读取结束的位置,file.seek(size) 将光标指针移动到文件的size位置。

文件写入:

file.write(str):将字符串写入文件

file.writelines(lines):将多行文本写入文件中,lines为字符串组成的列表或元组

示例:

file = open('write_woodman.txt', mode='w', encoding='utf-8')file.write('hello, woodman') # 写入文件, 转义字符换行file.write(' ------------------ ')str1 = '''你好!我是木头人。'''file.write(str1) # str1文本块写入文件,会安装文本块的格式file.write(' ------------------ ')list1 = ['Python', '是一门解释型语言 ', 'python非常简单']file.writelines(list1) # 写入列表数据file.close() # 关闭文件

运行程序后文件内容:

hello,woodman------------------你好!我是木头人。------------------Python是一门解释型语言python非常简单

文件对象的其他方法:

file.seek(偏移量,[起始位置]): 用来移动文件指针.

偏移量:单位:比特,可正可负

起始位置:0-文件头部,默认值;1-当前位置;2-文件结尾

file.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)

file.close(): 关闭文件

附件:

9619665d946e485f8efd1a4bca52b4b7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值