您现在的位置是:首页 > 数码 > 

Python 中 open(),close()组合与 with open()的区别

2025-07-28 02:06:46
Python 中 open(),close()组合与 with open()的区别 目录一、open()函数的基本用法1. 读取文件2. 打开模式. 编码方式二、open(),close()与 with open()的区别 一、open()函数的基本用法 在介绍区别之前先简单说明 open() 函数的用法ÿ

Python 中 open(),close()组合与 with open()的区别

目录
  • 一、open()函数的基本用法
    • 1. 读取文件
    • 2. 打开模式
    • . 编码方式
  • 二、open(),close()与 with open()的区别

一、open()函数的基本用法

在介绍区别之前先简单说明 open() 函数的用法,分为以下三个部分:

1. 读取文件

使用格式:

文件句柄 = open(	文件路径	, 	模式	,编码方式)

流程如下:

f = open(file_path, 	r	, encoding=	utf-8	)  # 打开文件, 编码方式可省略,一般取默认
data = f.read()                             # 读取文件
print(data)                                 # 打印读取内容
()                                   # 关闭文件或 
with open(file_name, 	r	) as f:data = f.read()                         # 读取文件print(data)                             # 打印读取内容                                  

注意,上述文件的 file_path 也就是文件的路径,可以是绝对路径(文件在硬盘的位置路径),也可以是相对路径(与脚本同在一个目录下)。
上述读取文件是使用 read () 表示读取整个文件的内容,也可以使用 readline() 表示读取文件一行,或 readlines() 按行读取文件内容。最后要使用 close() 函数关闭文件。

2. 打开模式

模式的参数也就是第二个参数,主要有以下模式:


r   以只读方式打开文件。这是默认模式,文件必须存在,不存在抛出错误
rb  以二进制格式打开一个文件用于只读。
r  打开一个文件用于读写。文件指针将会放在文件的开头,读完就追加。
w   打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w  打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a   打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a  打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

注:后面有带 b 的方式,不需要考虑编码方式。带  号的,则可读可写,不过它们之间还是有区别的。

. 编码方式

  • win系统默认是gbk编码的,所以桌面生成的TXT之类的都是gbk编码的;
  • 出现乱码,一般都是原文件的编码方式和打开指定的编码不一致所致。

二、open(),close()与 with open()的区别

这也是我们平时读取文件容易忽略的地方。

  • 一般是使用 open()close() 组合来打开和关闭文件。
    但这样做时,如果程序存在bug,导致close()语句未执行,文件将不会关闭。这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损。如果在程序中过早地调用close(),你会发现需要使用文件时它已关闭(无法访问),这会导致更多的错误。
  • 关键字 with 在不再需要访问文件后自动将其关闭。
    在这个程序中,注意到我们调用了open(),但没有调用close();并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用关键字 with,可让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/856963.html

相关标签:无
上传时间: 2024-02-10 04:08:18
留言与评论(共有 9 条评论)
本站网友 治打呼噜偏方
10分钟前 发表
Python 中 open()
本站网友 红疹图片
30分钟前 发表
如果该文件不存在,创建新文件进行写入
本站网友 城阳二手房
14分钟前 发表
open()函数的基本用法 在介绍区别之前先简单说明 open() 函数的用法,分为以下三个部分: 1. 读取文件 使用格式: 文件句柄 = open( 文件路径
本站网友 中国春节
9分钟前 发表
如果该文件不存在,创建新文件进行写入
本站网友 新兴产业有哪些
24分钟前 发表
文件指针将会放在文件的开头,读完就追加
本站网友 我形我秀
28分钟前 发表
这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损
本站网友 川贝枇杷露
10分钟前 发表
如果该文件已存在,文件指针将会放在文件的结尾
本站网友 什么是邮件地址
20分钟前 发表