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

  • 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文件读写内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python使用技巧-文件读写

    前言: 在Python中,要对一个文件进行操作,只需要使用内置的open函数打开文件即可.open函数接受文件名和打开模式作为参数,返回一个文件对象.工程师通过文件对象来操作文件,完成以后,调用文件对象的close方法关闭文件即可. 新建opentest.py: f = open('log.log') print(f.read()) f.close() 输出: 2022-02-17 13:41:34,796:INFO:info2022-02-17 13:41:34,797:WARNING:war

  • Python中ini配置文件读写的实现

    导入模块 import configparser # py3 写入 config = configparser.ConfigParser() config["DEFAULT"] = {     'ServerAliveInterval': '45',     'Compression': 'yes',     'CompressionLevel': '9'     } config['bitbucket.org'] = {} config['bitbucket.org']['User'

  • python文件读写操作小结

    目录 读文件 写文件 关于open()的mode参数: file_obj.seek(offset,whence=0) 字符编码 读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件.(这个mode参数默认值就是r) 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在: >>> f=op

  • 使用Python读写csv文件

    简介:CSV (Comma Separated Values) 格式是电子表格和数据库中最常见的输入.输出文件格式.又称逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据. 数据较复杂的场景更推荐读写excel. 特定规则: 开头是不留空,以行为单位.可含或不含列名,含列名则居文件第一行.一行数据不跨行,无空行.以

  • 详解python读写json文件

    python处理json文本文件主要是以下四个函数: 函数 作用 json.dumps 对数据进行编码,将python中的字典 转换为 字符串 json.loads 对数据进行解码,将 字符串 转换为 python中的字典 json.dump 将dict数据写入json文件中 json.load 打开json文件,并把字符串转换为python的dict数据 json.dumps / json.loads 数据转换对照: json python object dict array list str

  • 如何运用python读写CSV文件

    目录 1.使用基础Python代码来读写和处理CSV文件 2.使用pandas读写和处理CSV文件 3.使用内置csv读写和处理CSV文件 1.使用基础Python代码来读写和处理CSV文件 import sys #使用基础Python代码来读写和处理CSV文件 input_file = sys.argv[1] output_file = sys.argv[2] with open(input_file, 'r', newline='') as filereader: with open(out

  • Python多线程同步---文件读写控制方法

    1.实现文件读写的文件ltz_schedule_times.py #! /usr/bin/env python #coding=utf-8 import os def ReadTimes(): res = [] if os.path.exists('schedule_times.txt'): fp = open('schedule_times.txt', 'r') else: os.system('touch schedule_times.txt') fp = open('schedule_ti

  • 对Python之gzip文件读写的方法详解

    gzip文件读写的时候需要用到Python的gzip模块. 具体使用如下: # -*- coding: utf-8 -*- import gzip # 写文件 f_out = gzip.open("xxx.gz", "wb") # 读文件 # f_in = gzip.open("xxx.gz", "rb") for line in open("yyy.txt", "rb"): f_out

  • Python内存映射文件读写方式

    我就废话不多说了,还是直接看代码吧! import os import time import mmap filename = 'test.txt' #如果不存在,创建. if not os.path.exists(filename): open(filename, 'w') print(os.path.isdir(filename)) if os.path.isfile(filename): print(time.ctime(os.path.getctime(filename))) fd =

  • 深入解读Python如何进行文件读写

    open Python提供了非常方便的文件读写功能,其中open是读写文件的第一步,通过open读写文件的方式和把大象装冰箱是一样的 f = open("test.txt",'w') #第一步,把冰箱门(文件)打开 f.write("this is content") #第二步,把大象(文件内容)装进去 f.close() #第三步,把冰箱门关上,否则大象可能会跑掉 open的定义方式为 file=open(path,mode='r',buffering=-1,en

  • 给Python学习者的文件读写指南(含基础与进阶)

    对于初学者来说,一份详尽又清晰明白的指南很重要.今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处.学习是循序渐进的过程,欲速则不达.文章较长,建议大家收藏,以备复习查阅哦. 1.如何将列表数据写入文件? 2.如何从文件中读取内容? 3.多样需求的读写任务 4.从with语句到上下文管理器 如何将列表数据写入文件? 首先,我们来看看下面这段代码,并思考:这段代码有没有问题,如果有问题的话,要怎么改? li = ['python',' is'

  • python实现简单文件读写函数

    python作为脚本性语言,加上它的简便易用性.会经常当作脚本用来处理一下数据和格式.其中处理文件就是频繁用处之一.简单编写几个常用的xls和txt读写函数,以后可以快速复用. 用到xlrd库函数需要预先install 命令:pip install xlrd 直接贴源码: #! /usr/bin/python # coding:utf-8 import json import xlrd import sys reload(sys) sys.setdefaultencoding('utf-8')

  • 详解python中的异常和文件读写

    Python异常 1.python异常的完整语法 try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 使用 8 除以用户输入的整数并且输出 result = 8 / num print(result) except ValueError: print("请输入正确的整数!") except Exception as result: print("未知错误:%s" % result) else: prin

  • python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 复制代码 代码如下: import xlrd 2.打开Excel文件读取数据 复制代码 代码如下: data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表

  • python实现的config文件读写功能示例

    本文实例讲述了python实现的config文件读写功能.分享给大家供大家参考,具体如下: 1.设置配置文件 [mysql] host = 1234 port = 3306 user = root password = Zhsy08241128 database = leartd 2.读取配置文件 import configparser import os conf= configparser.ConfigParser() def readConf(): '''读取配置文件''' root_pa

随机推荐