python文件

本文详细介绍了Python中文件操作的基本方法,包括使用open函数打开文件,通过read、readline及readlines方法读取文件内容,利用write和writelines方法写入内容等。此外还讲解了诸如关闭文件、刷新缓冲区等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的函数

open函数

open(file,op):打开指定文件file,若文件不存在则创建。其中file为文件名,file的路径默认为程序所在的位置,也可指定file的路径。
参数op:

“r”或无:若省略参数op,则只是简单打开文件,若文件不存在则会报错,写文件操作也会报错;
“w”:打开并可写文件。若文件已存在,则以前的内容将被清除。
“a”:向文件中追加文本。向已存在的文件中追加内容。
如没有参数“w”则只是简单打开文件,如文件不存在则会报错。 如:a = open(“test.txt”,“w”),a为test.txt的一个文件对象

注:使用open函数打开并写文件时文件时,就算文件存在,Python也会先删除原有文件然后创建新文件,也即文件的内容也随之删除!
 
python中read() readline()以及readlines()用法

(1).read() 每次读取整个文件,它通常将读取到的文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。

(2).readline()每次只读取文件的一行,读取到的一行内容放到一个字符串变量中,返回str类型,包括换行符“\n”。第一次使用返回文件的第一行文本,第二次返回第二行文本,依此类推。使用循环可遍历文件中的每一行文本。 如:line1 = a.readline() ->返回a对象所指文件的第一行文本。

(3).readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型,

(4)write(astring):向文件中写内容,写入的内容不会自动换行,但可使用换行符“\n”。如:a.write(“one line”),此时文件test.txt中出现内容“one line”。

(5)close():关闭文件对象。对一个文件的操作结束是调用。如:a.close()。

file.close()

close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。

当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一个好的习惯。

file.flush()

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
file.fileno()

fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。

file.seek(offset[, whence])

seek() 方法用于移动文件读取指针到指定位置。

fileObject.seek(offset[, whence])参数说明:

offset – 开始的偏移量,也就是代表需要移动偏移的字节数

whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起

file.write(str)

write() 方法用于向文件中写入指定字符串。在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。str – 要写入文件的字符串。
file.writelines(sequence)

writelines() 方法用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 \n。

fileObject.writelines( [ str ]),str – 要写入文件的字符串序列。

在任何情况下,python程序中的文本文件都采用字符串的形式。读取文件时会返回字符串形式的文本,文本作为字符串传递给write方法。

从文件读取的数据时一个字符串,所以如果字符串不是所需的,就得将其转换成其他类型的python对象。同样,当要数据写入文件时,必须将是字符串形式的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值