python文件读写的方法是什么

发布时间:2022-02-21 09:24:09 作者:iii
来源:亿速云 阅读:141

今天小编给大家分享一下python文件读写的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

前言:

在Python中,要对一个文件进行操作,只需要使用内置的open函数打开文件即可。open函数接受文件名和打开模式作为参数,返回一个文件对象。工程师通过文件对象来操作文件,完成以后,调用文件对象的close方法关闭文件即可。

新建opentest.py:

f = open('log.log')
print(f.read())
f.close()

输出:

2022-02-17 13:41:34,796:INFO:info
2022-02-17 13:41:34,797:WARNING:warning
2022-02-17 13:41:34,797:ERROR:error
2022-02-17 13:41:34,797:CRITICAL:critical

open函数默认以'r'模式打开,也可以指定文件的打开模式。

'r' : 默认以读模式打开文件,如果文件不存在,抛出FileNotfoundError异常

'w' : 以写模式打开文件,如果文{牛非空,则文件已有的内容会被清空,如果文件不存在,则创建文件

'x' : 创建一个新的文件,如果文件已经存在,抛出FileExistsError异常

'a' : 在文件末尾追加文件

f = open('log.log','w')
f.write('hello')
f.close()

log.log文件内容

hello

f = open('log.log','a')
f.write('world')
f.close()

log.log文件内容

helloworld

在计算机程序中,每打开一个文件就需要占用一个文件句柄,而一个进程拥有的文件句柄数是有限的。此外,文件句柄也会占用操作系统的资源,因此,在编写程序处理文件时需要注意,文件处理结束后及时关闭文件。文件句柄泄露或许是最常见的资源泄露问题,也是工程师最容易犯的错误。为了避免打开文件后没有及时关闭,大多数编程语言中都使用finally关闭文件句柄。在 Python中,也可以使用finally语句来保证,无论在什么情况下文件都会被关闭。

try:
    f = open('log.log','a')
    f.write('world')
finally:
    f.close()

Python中还有更加简洁优美的写法,即使用上下文管理器

with open('log.log') as f:
    print(f.read())

可以看到,使用上下文管理器以后代码行数变少了。在Python中,如果想把代码写得简洁优美,就应该在保证可读性的前提下代码行数越少越好。

Python提供了三个读相关的函数,分别是readreadline readlines ,它们的作用如下:

with open('log.log') as f:
    print(f.read())
    f.seek(0) #文件读取偏移量到开头
    print(f.readline())
    f.seek(0)
    print(f.readlines())

输出:

2022-02-17 13:41:34,796:INFO:info
2022-02-17 13:41:34,797:WARNING:warning
2022-02-17 13:41:34,797:ERROR:error
2022-02-17 13:41:34,797:CRITICAL:critical
2022-02-17 13:41:34,796:INFO:info

['2022-02-17 13:41:34,796:INFO:info\n', '2022-02-17 13:41:34,797:WARNING:warning\n', '2022-02-17 13:41:34,797:ERROR:error\n', '2022-02-17 13:41:34,797:CRITICAL:critical']

Python提供了两个写函数,分别是writewritelines它们的区别如下:

with open('log.log','w') as f:
    f.write('hello')
    f.writelines(['\njohn is good man','\nsan is bad man'])

log.log内容

hello
john is good man
san is bad man

以行为单位依次处理文件中的每一行。

with open('log.log') as f:
    for line in f:
        print(line,end="")

以上就是“python文件读写的方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. python 文件读写操作(24)
  2. python文件读写操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python的标准输入方法是什么

下一篇:python查找文件的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》