如何使用Python文件I/O函数进行文件读写
文件I/O函数是Python中重要的文件读写函数。文件读取是指讲文件的数据读入计算机程序中,文件写入是将程序中的数据写入到文件中。文件I/O函数是Python中通过文件读写实现数据传输的基本工具。在Python中,通过打开文件以进行读写操作,一旦完成读写操作,文件必须关闭才能专注于下一个任务。
一般情况下,文件输入和输出分别用open()函数和read()、write()函数完成。打开文件操作有着诸如访问、读写、追加内容或创建新文件等各种操作。 如果文件大小较大,就需要处理文件块读写和逐行读写操作。如果要对多个文件做操作,需要使用os和os.path模块来列出文件和目录。下文将详细介绍Python中的文件读写操作。
1. 文件的打开和关闭
打开文件时,需要使用Python中的open()函数,并进行相应的文件读取或写入操作。open()函数的基本语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,必须提供file参数,mode参数表示打开文件的模式,默认是只读模式(‘r’),可选参数如下表所示:
| mode | 模式 |
| :-----: | :--------------------------------- |
| 'r' | 只读,文件从头到尾可读取 |
| 'w' | 只写,文件从头到尾可写入 |
| 'x' | 独占,以独占模式打开文件,创建新文件 |
| 'a' | 追加,写入文件末尾 |
| 'b' | 以二进制模式打开文件 |
| 't'或'' | 以文本模式打开文件 |
| '+' | 更新,读写模式 |
以下是一些常用示例:
# 打开文件,文件名为helloworld.txt
f = open("./helloworld.txt")
# 打开文件,文件名为helloworld.txt,以只写模式'w'打开文件
f = open("./helloworld.txt", 'w')
# 打开文件,文件名为helloworld.txt,以只写模式'wb'打开,以二进制写入
f = open("./helloworld.txt", 'wb')
打开文件操作完成后,还需要关闭文件,关闭文件需要用close()函数。示例如下:
f = open("./helloworld.txt", 'w')
# do something
f.close()
2. 读取文件的方法
(1)read()方法
read() 方法用于从文件中读取指定数目的字符,默认全读,不指定数目为全读。
f = open("./helloworld.txt", "r")
print(f.read(5))
f.close()
结果输出:Hello
(2) readline()方法
readline()方法用于读取文本文件中的一行数据。
f = open("./helloworld.txt","r")
print(f.readline())
f.close()
结果输出:Hello Python!
(3) readlines()方法
readlines()方法用于读取文本文件中的所有行数据。
f = open("./helloworld.txt", "r")
print(f.readlines())
f.close()
输出结果:
['Hello Python!
', 'Do you know Python?']
(4)seek()方法
seek()方法用于移动文件指针到指定位置。
f = open("./helloworld.txt", "r")
f.seek(7)
print(f.read(4))
f.close()
结果输出:Python
3. 写入文件的方法
(1) write()方法
write()方法用于将字符串写入文件。
f = open("./helloworld.txt", "w")
f.write("Hello Python!
")
f.write("Do you know Python?")
f.close()
执行后,当前目录下就会生成一个helloworld.txt的文件,文件内容如下:
Hello Python!
Do you know Python?
(2) writelines()方法
writelines()方法用于将列表中的字符串逐行写入文件中。
f = open('./helloworld.txt', 'w')
lines = ['hello python
','welcome to python
']
f.writelines(lines)
f.close()
执行后helloworld.txt文件内容如下:
hello python
welcome to python
4. 其他文件操作
(1)with语句
使用with语句可以方便地处理文件IO操作,无需调用close()方法来关闭文件。
with open("./helloworld.txt", "r") as f:
print(f.read())
结果输出:hello python
welcome to python
(2)文件和文件夹操作
Python的os模块和os.path模块提供了文件和文件夹操作的方法。其中os模块主要用于文件和文件夹路径的操作,os.path模块主要用于文件属性的操作。
import os
# 获取当前目录
print(os.getcwd())
# 更改目录
os.chdir('..')
# 创建文件夹
os.mkdir('temp')
# 删除文件夹
os.rmdir('temp')
# 判断文件夹是否存在
os.path.exists('./temp')
5. 总结
文件I/O函数是Python中文件读写的基本工具,用于读取文件、写入文件和文件操作。Python中的文件读写操作流程为:打开文件 -> 读写文件 -> 关闭文件。由于文件读写操作可能会涉及到操作系统资源的释放问题,因此建议使用with语句来实现文件操作,从而避免了手动关闭文件及异常问题的发生,从而保证代码的可靠性和稳定性。
