美文网首页
文件的打开和关闭

文件的打开和关闭

作者: tafanfly | 来源:发表于2020-01-24 13:41 被阅读0次

编程中经常需要读写文件,就需要用到内置函数open, 语法如下:

open(
file,
mode='r',
buffering=-1,
encoding=None,
errors=None,
newline=None,
closefd=True,
opener=None,
)
Docstring:
Open file and return a stream. Raise IOError upon failure.

1. 打开文件

open函数第一个参数是file, 一般指的是文件的路径,包含绝对路径和相对路径。

  • 打开绝对路径或者相对路径的文件,默认是以只读的模式打开
f = open('/home/tafan/workspace/file.txt')
#f = open('../file.txt')

print(f)
<_io.TextIOWrapper name='/home/tafan/workspace/file.txt' mode='r' encoding='UTF-8'>

2. 关闭文件

当打开文件后,记得使用close()方法关闭文件。不及时关闭文件,会出现许多问题。

  • 文件对象会占用操作系统的资源,操作系统同一时间能打开的文件数量是有限的
  • 写入文件后可能由于系统崩溃导致写入数据丢失,因为Python可能缓冲你写入的数据(将数据暂时存储在某个地方,以提高效率)
  • 容易被其他程序篡改数据

如何安全有效的关闭文件, 可以用到try...finallywith open语句。

  • 使用try...finally, 可以有效的防止读写及其他函数出错导致没有及时关闭文件
f = open('file.txt', 'w+')
try:
    f.write('example')
finally:
    file.close()
  • 使用with open,到达该语句末尾时,将自动关闭文件,即便出现异常亦如此,推荐使用
with open('file.txt', 'w+') as f:
    f.write('example')
f.write('example too')

#testing
Traceback (most recent call last):
  File "a.py", line 5, in <module>
    f.write('example too')
ValueError: I/O operation on closed file.

相关文章

  • 打开和关闭文件

    打开文件$ exec 200>/tmp/lock_file以写的方式打开文件,文件句柄是200$ exec 200...

  • 打开和关闭文件

    打开文件的方式具体如下图所示(来自于https://fishc.com.cn/thread-90808-1-1.h...

  • 文件的打开和关闭

    编程中经常需要读写文件,就需要用到内置函数open, 语法如下: open(file,mode='r',buffe...

  • 7.php文件系统

    文件处理 文件处理包含文件的打开/关闭文件、读取数据、和写入数据等 1. 打开/关闭文件 fopen() -- 打...

  • Python学习基础知识之 文件的介绍以及常见操作

    目录 一、文件的打开和关闭 1.1打开文件open() 1.2关闭文件close( ) 二、文件的读写 2.1写数...

  • python语言IO编程

    一、文件读写 1、文件的打开和关闭。在python语言中,文件的打开和关闭分别使用的是open函数和close函数...

  • python012-文件操作

    文件的基本操作 1 文件操作步骤 打开文件 读写等操作 关闭文件 注意:可以只打开和关闭文件,不进行任何读写操作。...

  • Python高级 文件操作

    文件打开与关闭 打开文件 open(文件名,访问模式) 关闭文件 close() 访问模式:r ...

  • Day11-文件操作和异常捕获

    1 json文件的操作 一种常用文件打开和关闭的方法: 这种方法在文件打开操作完成后,会自动关闭文件。 1.1 基...

  • C基础-文件操作

    文件打开和关闭 这里的“打开”和“关闭”可调用标准库 stdio.h 中的 fopen 和 fclose 函数实现...

网友评论

      本文标题:文件的打开和关闭

      本文链接:https://www.haomeiwen.com/subject/roscthtx.html