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