浅谈Python3中打开文件的方式(With open)
在Python3中,打开文件一般使用with open语句,同时可以指定文件打开的方式(mode)。
with open语句
with open语句可以帮助我们自动关闭已打开的文件,从而避免因忘记关闭文件而造成的资源浪费等问题。使用with open语句,我们可以将要访问文件的代码放在代码块中,with open块结束时,文件自动关闭。
下面是with open语句的基本语法:
with open(file_path, mode) as fp:
# 在这里进行文件读写操作
具体参数意义如下:
- file_path:要打开的文件路径;
- mode:文件打开方式,指定读写权限,常见的有’w+’、’r+’、’a+’等。
代码示例:
# 以只读方式打开文件,并读取文件内容
with open('example.txt', 'r') as fp:
content = fp.read()
print(content)
文件打开模式
with open语句中的mode参数,用于指定打开文件的方式。下面是各种文件打开方式的说明。
读写操作
在Python中,可以通过以下方式打开文件并进行读写操作:
- r:只读模式,打开文件后只能读取文件内容,不能写入或修改文件;
- w:只写模式,用于创建新文件或清空已有文件,写入的内容会覆盖文件原有内容;
- x:只写模式,用于创建新文件,如果文件已存在则会报错;
- a:追加模式,用于在文件末尾添加内容,写入的内容会被追加到已有内容后面;
- r+:读写模式,可同时进行读写操作,不会清空文件内容;
- w+:读写模式,用于创建新文件或清空已有文件,写入的内容会覆盖文件原有内容;
- x+:读写模式,用于创建新文件,如果文件已存在则会报错,并且可同时进行读写操作;
- a+:读写模式,用于在文件末尾添加内容,并且可同时进行读写操作,写入的内容会被追加到已有内容后面。
代码示例:
# 以只写方式打开文件,并写入内容
with open('example.txt', 'w') as fp:
fp.write('Hello, World!\n')
fp.write('This is an example file.\n')
# 以只读方式打开文件,并读取文件内容
with open('example.txt', 'r') as fp:
content = fp.read()
print(content)
二进制文件操作
在Python中,也可以通过以下方式打开二进制文件并进行操作:
- rb:以二进制格式只读打开文件;
- wb:以二进制格式只写打开文件,清除文件中现有所有数据;
- ab:以二进制格式追加打开文件,保留现有所有数据;
- r+b:以二进制格式读写打开文件,文件指针指向文件头部;
- w+b:以二进制格式读写打开文件,清除文件中现有所有数据;
- a+b:以二进制格式读写打开文件,保留现有所有数据,文件指针指向文件末尾;
代码示例:
# 以二进制只写方式打开文件,并写入内容
with open('example.bin', 'wb') as fp:
fp.write(b'\x48\x65\x6c\x6c\x6f\x2c\x20\x57\x6f\x72\x6c\x64\x21')
# 以二进制只读方式打开文件,并读取文件内容
with open('example.bin', 'rb') as fp:
content = fp.read()
print(content)
tips
当文件对象处理完后,默认是将内容缓存在内存中的,如果文件对象占用的内存开销比较大,我们可以使用with语句手动清除缓存,或者直接使用close方法关闭文件对象。
关于Python3中打开文件的方式,就介绍到这里,希望对大家有所帮助。