首页 > 其他分享 >file函数读写文件(txt)操作

file函数读写文件(txt)操作

时间:2023-11-21 15:05:46浏览次数:38  
标签:文件 打开 读取 读写 写入 内容 file txt

文件操作

open()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数

格式:

open(file_name[,accesss_mode][,buffering])

1、file_name:文件路径,必传参数

2、accesss_mode:打开文件的模式(只读(r),写入(w),追加(a)等,默认为只读(r))。非必传

3、buffering:为0表示不会寄存。为1会寄存行。如果大于1的整数,表明了是寄存区的缓存区的缓存大小。如果取负值,寄存区的缓存则为系统默认。非必传

文件操作常用方法

对于file文件的使用流程:打开文件--读或者写--关闭文件

1、打开文件:f=open(文件名,模式)

2、写:f.write(写入的文本内容)

3、读:f.read([字符数量])

弊端就是当文件很大的时候,将文件中的内容全部读取,存放在内存中这样会导致内存奔溃。

f.readline()

读取当前光标的后一行内容

读取出来的数据在后面都有一个\n,读取之后会自动换行。

f.readlines()

读取所有内容,结果储存在列表,每行是一个元素

如果文件很大,占内存,容易崩盘

注:

如果文件很大,不推荐用read(),readlines()这两种方法,以上方法都是将文件一次性全部读取到内存中,内存容易奔溃占内存,容易崩盘。

推荐用readline(),或者循环的方式

4、关闭文件

f.close()

access_mode参数

access_mode参数有:

w 打开一个文件只用于写入,如果文件存在,清空文本内容再写入,否则新建文件后写入内容

wb 以二进制格式打开一个文件只用于写入

w+ 打开一个文件用于读写。如果文件存在,清空文本内容再写入,否则新建文件后写入内容

a 打开文件追加内容,存在文件,在文件原内容后增加,文件不存在则报错

a+ 打开一个文件用于读写。存在文件,在文件原内容后增加,文件不存在则新建文件并写入

ab 以二进制格式打开一个文件用于追加,存在文件,在文件原内容后增加,否则新建写入

ab+ 以二进制格式打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写

r 以只读方式打开文件。文件的指针将在文件开头。这是默认模式。

rb 以二进制格式打开一个文件用于只读。一般用于非文本文件如图片等 

r+ 打开一个文件用于读写(文件的指针将在文件开头)

r+ 模式,读写

对于读写模式,必须是先读后写,因为光标默认在开头位置,当读完以后再进行写入。频率最高的模式就是r+

注:

在r+模式下,如果读取了内容,不论读取内容多少,光标显示的是多少,再写入或操作文件的时候都是在结尾进行的操作

r+只会读到原有内容,不会读到写入的内容

f.seek(光标移动的位置):控制光标移动的位置

file模式总结

通过使用with..open..as...不用手动关闭文件。当执行完内容后,自动关闭文件。

语法结构:

  with open(路径,打开文件方式,encoding='utf-8')  as 变量:

代码块-r+,读写

问问

标签:文件,打开,读取,读写,写入,内容,file,txt
From: https://blog.51cto.com/u_16324710/8501791

相关文章

  • STM32使用SDIO模式和DMA实现SD卡的读写及擦除操作
    对于STM32操作SD卡来说,最重要的就算初始化、写操作、读操作、擦除这几个操作了。对于初始化部分上一篇文章已经分析,本篇就主要分析写、读、擦除操作。本篇函数来自于STM32提供的例程。参考野火的程序进行了解释,与野火函数有些不同。这几种函数完成之后,就是开始实现对SD卡进行操作了......
  • MySQL主从搭建及Django实现读写分离
    mysql主从搭建#1主从同步的流程或原理1)master会将变动记录到二进制日志里面;2)master有一个I/O线程将二进制日志发送到slave;3)slave有一个I/O线程把master发送的二进制写入到relay日志里面;4)slave有一个SQL线程,按照relay日志处理slave的数据;#2在home目录下创建mys......
  • 220-jquery,将base64的图片,转为file文件,并通过$.ajax上传
    varbase64='';constblob=dataURLToBlob(base64);constfile=blobToFile(blob,'image.jpg');uploadImage(file);functiondataURLToBlob(base64){constparts=dataURL.split(';base64,');constcontentType=......
  • yolo v5 下载新数据集被防火墙proxy挡住,如何设置proxy. torch.hub.download_url_to_fi
    当我们想运行yolov5时候,我们发现有的时候,由于网关问题,proxy会成为阻碍。例如如下错误;  将代码如下修改,就能改好:1.原始代码: 2.增加proxy设置: importurllib.requestimporttorch.hub#设置代理信息proxy_support=urllib.request.ProxyHandler({'http':'http......
  • fsm.h:24:37: fatal error: glib.h: No such file or directory
     001、make编译报错如下:fsm.h:24:37:fatalerror:glib.h:Nosuchfileordirectory 002、查找该文件(base)[[email protected]]#find/-name"glib.h"##存在该文件,但是有可能是找不到 003、查找相关的系统安装包(base)[root@pc1exonerate-2.......
  • 实现数据库的读写分离
    简介轻量级Java框架,在Java的JDBC层提供额外服务,以jar包的形式提供服务(增强版数据库连接驱动)。适用于基于JDBC的ORM框架、支持第三方数据库连接池、支持实现了JDBC规范的数据库。 读写分离:基于已配置好主从复制的多个数据库。 使用步骤在springboot项目中使用。一、......
  • 8.1 Windows驱动开发:内核文件读写系列函数
    在应用层下的文件操作只需要调用微软应用层下的API函数及C库标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要讲解的文件与目录操作相关函数,多数ARK反内核工具都具有对......
  • Makefile - What is a Makefile and how does it work?
    Ifyouwanttorunorupdateataskwhencertainfilesareupdated,the make utilitycancomeinhandy.The make utilityrequiresafile, Makefile (or makefile),whichdefinessetoftaskstobeexecuted.Youmayhaveused make tocompileaprogramf......
  • Qt项目中CMakeLists.txt文件
    cmake_minimum_required(VERSION3.5)project(testNameLANGUAGESCXX)set(CMAKE_AUTOUICON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIREDON)find_package(Qt5COMPONENTSREQUIREDWidgetsSqlCharts......
  • Qt 基本CMakeLists.txt 文件
    cmake_minimum_required(VERSION3.5)project(untitledVERSION0.1LANGUAGESCXX)set(CMAKE_AUTOUICON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIREDON)find_package(QTNAMESQt6Qt5REQUIREDCOM......