python使用技巧-文件读写

 更新时间:2022年02月20日 11:00:38   作者:zzxiaoma  
这篇文章主要介绍了python使用技巧-文件读写,Python提供了非常方便的文件读写功能,其中open是读写文件的第一步,通过open读写文件的方式和把大象装冰箱是一样的,下面我们就来具体介绍该内容,需要的小伙伴可以参考一下

前言:

在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 ,它们的作用如下:

  • 1、read:读取文件中的所有内容;
  • 2、readline:一次读取一行;
  • 3、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它们的区别如下:

  • 1、write:写字符串到文件中,并返回写入的字符数
  • 2、writelines:写一个字符串列表到文件中。  
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使用技巧-文件读写的文章就介绍到这了,更多相关python文件读写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python神经网络InceptionV3模型复现详解

    python神经网络InceptionV3模型复现详解

    这篇文章主要为大家介绍了python神经网络InceptionV3模型复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-05-05
  • Python字符和字符值(ASCII或Unicode码值)转换方法

    Python字符和字符值(ASCII或Unicode码值)转换方法

    这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之间相与转换的方法,需要的朋友可以参考下
    2015-05-05
  • Python实现自动驾驶训练模型

    Python实现自动驾驶训练模型

    这篇文章主要为大家介绍了Python实现自动驾驶训练模型,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 基于Python实现俄罗斯方块躲闪小游戏

    基于Python实现俄罗斯方块躲闪小游戏

    这篇文章主要为大家详细介绍了如何基于Python实现有趣的俄罗斯方块躲闪小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-04-04
  • 解决pip install xxx报错SyntaxError: invalid syntax的问题

    解决pip install xxx报错SyntaxError: invalid syntax的问题

    今天小编就为大家分享一篇解决pip install xxx报错SyntaxError: invalid syntax的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python机器学习应用之支持向量机的分类预测篇

    Python机器学习应用之支持向量机的分类预测篇

    最近完成的一个项目用到了SVM,之前也一直有听说支持向量机,知道它是机器学习中一种非常厉害的算法。利用将近一个星期的时间学习了一下支持向量机,把原理推了一遍,感觉支持向量机确实挺厉害的,这篇文章带你了解它
    2022-01-01
  • python pygame实现方向键控制小球

    python pygame实现方向键控制小球

    这篇文章主要为大家详细介绍了python pygame实现方向键控制小球,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 如何使用 Python Timedelta 月份计算日期

    如何使用 Python Timedelta 月份计算日期

    在本篇文章中,我们将通过 timedelta 学习如何在 Python 中使用日期时间, 我们将了解如何计算当前日期或任何其他日期六个月后的日期,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Python实现号码归属地查询功能

    Python实现号码归属地查询功能

    这篇文章主要为大家详细介绍了如何利用Python实现对手机号码进行地域分析并查询归属地的功能,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • 教你掌握分布式训练PyTorch DDP到Accelerate到Trainer

    教你掌握分布式训练PyTorch DDP到Accelerate到Trainer

    这篇文章主要为大家介绍了教你掌握分布式训练PyTorch DDP到Accelerate到Trainer
    2023-02-02

最新评论