如何使用Python的open()函数读写文件?
在Python中,使用open()函数可以方便地读写文件。
语法格式:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
1. file:表示文件名和文件路径。如果文件不存在,则会创建新文件。
2. mode:表示文件的打开模式。可选参数包括:
- 'r':只读模式,文件指针位于文件开头。
- 'w':写入模式,文件指针位于文件开头,如果文件已存在,则清空文件,并写入新内容,如果文件不存在,则创建新文件。
- 'a':追加模式,文件指针位于文件结尾,如果文件不存在,则创建新文件。
- 'x':创建模式,文件指针位于文件开头,如果文件已存在,则打开失败。
- 'b':任何模式后面加上'b'字符,表示以二进制模式打开文件。
- '+':任何模式后面加上'+'字符,表示可读可写模式打开文件。
3. buffering:指定缓冲策略,如果为0,则表示关闭缓冲,如果为1,则表示使用行缓冲,如果为大于1的整数,则表示缓冲区大小,如果为负数,则表示默认缓冲策略。
4. encoding:指定文件编码方式,常见的编码方式有:
- 'utf-8':表示UTF-8编码方式。
- 'gbk':表示GB18030编码方式。
- 'latin-1':表示ISO8859-1编码方式。
5. errors:指定编码错误方式,可选参数包括:
- 'strict':表示编码错误时抛出异常。
- 'ignore':表示忽略编码错误。
- 'replace':表示用'?'字符代替编码错误。
6. newline:新行符号,可选参数包括:
- None:表示使用操作系统默认的换行符。
- '
':表示使用Unix/Linux换行符。
- '\r
':表示使用Windows换行符。
- '\r':表示使用Macintosh换行符。
7. closefd:如果为True,则表示关闭fd(文件描述符)。
8. opener:使用自定义的文件打开方式。
读写文件的基本操作:
一、使用open()函数打开文件:
1. 打开一个只读文件,指定文件编码方式为utf-8:
f = open('test.txt', 'r', encoding='utf-8')
2. 打开一个可写的文件,指定文件编码方式为utf-8:
f = open('test.txt', 'w', encoding='utf-8')
3. 打开一个可读可写的文件,指定文件编码方式为utf-8:
f = open('test.txt', 'r+', encoding='utf-8')
二、读取文件内容:
1. 使用read()方法,一次性读取整个文件:
content = f.read()
2. 使用readline()方法,逐行读取文件内容:
line1 = f.readline()
line2 = f.readline()
...
3. 使用readlines()方法,读取整个文件的所有行,并返回一个列表:
lines = f.readlines()
三、写入文件内容:
1. 使用write()方法,向文件中写入内容:
f.write('Hello World!')
2. 使用writelines()方法,向文件中写入多行内容:
f.writelines(['Hello World!
', 'Goodbye World!
'])
四、关闭文件:
使用close()方法关闭文件,释放系统资源:
f.close()
实践:
在Python中,使用with语句可以自动关闭文件,释放系统资源,避免因为程序异常而导致文件资源一直占用的情况。
代码示例:
with open('test.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
以上代码将自动关闭文件,释放系统资源。
