python文件操作步骤_python打开文件的函数

python文件操作步骤_python打开文件的函数文件操作文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件open(file,mode='r',buffering=-

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

文件操作

文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

open()函数共有8个参数,其中参数file和mode是最为常用的,其他参数一般情况下很少使用,下面分别说一下这些参数的含义
1.file参数
file参数是要打开的文件,可以是字符串或整数。如果file是字符串表示文件名,文件名可以是相对当前目录的路径,也可以是绝对路径;如果file是整数表示文件描述符,文件描述符指向一个已经打开的文件
 
2.mode参数
设置打开模式,二进制文件设置rb,wb,xb,ab,如果是文本文件,则设置r,w,x,a

  • r:只读模式打开文件(默认)
  • w:写入模式打开文件,会覆盖已经存在的文件
  • x:独占创建模式,文件不存在时创建并以写入模式打开,如果文件已存在则抛出异常
  • a:追加模式,如果文件存在,则写入时内容追加到文件末尾
  • b:二进制模式
  • +:更新模式
  • t:文本模式(默认)
     

3.buffering参数
buffering是设置缓冲区策略,默认值为-1,当buffering=-1时系统会自动设置缓冲区,通常是4096或8192字节;当buffering=0时关闭缓冲区,关闭缓冲区时数据直接写入文件中,这种模式主要用于二进制文件的写入操作;当buffering>0时,buffering用来设置缓冲区字节大小
 

4.encoding
设置文件编码
 

5.errors
用来指定编码发生错误时如何处理
 

6.newline
用来设置换行模式
 

文本文件读写

  • read(size=-1):从文件中读取字符串,size限制最多读取的字符数,size=-1时没有限制,读取全部内容
  • redline(size=-1):读取到换行符或文件尾并返回单行字符串,如果已经到文件尾,则返回一个空字符串,size是限制读取的字符数,size=-1时没有限制
  • readlines(hint=-1):读取文件数据到一个字符串列表中,每一个行数据是列表的一个元素,hint是限制读取的行数,hint=-1时没有限制
  • write(s):将字符串s写入文件,并返回写入的字符数
  • writelines(lines):向文件中写入一个列表,不添加行分隔符,因此通常为每一行末尾提供行分隔符
  • flush():刷新写缓冲区,数据会写入到文件中
     

二进制文件读写

  • read(size=-1):从文件中读取字节,size限制最多读取的字节数,size=-1时没有限制,读取全部字节
  • redline(size=-1):从文件中读取并返回一行,size是限制读取的字节数,size=-1时没有限制
  • readlines(hint=-1):读取文件数据到一个列表中,每一个行数据是列表的一个元素,hint是限制读取的行数,hint=-1时没有限制
  • write(s):写入b字节,并返回写入的字符数
  • writelines(lines):向文件中写入一个列表,不添加行分隔符,因此通常为每一行末尾提供行分隔符
  • flush():刷新写缓冲区,数据会写入到文件中
     

os模块

Python对文件的操作是通过文件对象实现的,如删除文件、修改文件名,创建目录,删除目录和遍历目录,可以通过Python的os模块实现

  • os.rename(src, dst):修改文件名,src是源文件,dst是目标文件,它们都可以是相对路径或者绝对路径
  • os.remove(path):删除path所指的文件,如果path是目录,则会引发OSError
  • os.mkdir(path):创建path所指的目录,如果目录已存在,则会引发FileExistsError
  • os.rmdir(path):删除path所指的目录,如果目录非空,则会引发OSError
  • os.walk(top):遍历top所指的目录树,自顶向下遍历目录树,返回值是一个三元组(目录路径,目录名列表,文件名列表)
  • os.listdir(dir):列出指定目录中的文件和子目录
    常用的属性有以下两种
  • os.curdir属性:获得当前目录
  • os.pardir属性:获得当前父目录
     

os.path模块

  • os.path.abspath(path):返回path的绝对路径
  • os.path.basename(path):返回路径的基础名部分,如果path是指向一个文件,则返回文件名,如果path指向的是一个目录,则返回最后目录名
  • os.path.dirname(path):返回path路径中目录部分
  • os.path.exists(path):判断path文件是否存在
  • os.path.isfile(path):如果path是文件,则返回True
  • os.path.isdir(path):如果path是目录,则返回True
  • os.path.getatime(path):返回最后一次的访问时间,返回值是一个UNIX的时间戳,如果文件不存在或无法访问,则引发OSError
  • os.path.getmtime(path):返回最后修改时间,返回值是一个UNIX的时间戳,如果文件不存在或无法访问,则引发OSError
  • os.path.getctime(path):返回创建时间,返回值是一个UNIX时间戳,如果文件不存在或无法访问,则引发OSError
  • os.path.getsize(path):返回文件大小,以字节为单位,如果文件不存在或无法访问,则引发OSError
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166204.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 通过bindservice方法开启的服务,通过什么方法解绑_controller调用多个service

    通过bindservice方法开启的服务,通过什么方法解绑_controller调用多个service绑定本地服务AndroidManifest.xml中声明服务:<serviceandroid:name=".TestLocalService"><intent-filter><actionandroid:name="maureen.intent.action.BIND_LOCAL…

  • spark中各种连接操作以及有用方法「建议收藏」

    spark中各种连接操作以及有用方法

  • 怎么用sql脚本创建数据库_mysql数据库导入

    怎么用sql脚本创建数据库_mysql数据库导入使用sql脚本建立数据库,可以方便各用户,各数据库之间的复制使用,下面将在cmd中完成上述操作:cmd中mysql基本操作:1.连结mysql:C:\Users\WJ>mysql-h127.0.0.1-uroot-p123456其中-h表示host127.0.0.1表示地址,这里你如果是远程访问的话,直接写上远程地址即可,-u-p分别为用户名及密码;2.查看所有数据库:showdatabases;3.操作某一数据库:useschool_2;4.查看该数据库下的表:s

  • 方差、协方差、标准差、均方差、均方根值、均方误差、均方根误差对比分析[通俗易懂]

    方差、协方差、标准差、均方差、均方根值、均方误差、均方根误差对比分析[通俗易懂]方差、协方差、标准差(标准偏差/均方差)、均方误差、均方根误差(标准误差)、均方根值本文由博主经过查阅网上资料整理总结后编写,如存在错误或不恰当之处请留言以便更正,内容仅供大家参考学习。 方差(Variance) 方差用于衡量随机变量或一组数据的离散程度,方差在在统计描述和概率分布中有不同的定义和计算公式。①概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏…

  • IT牛人博客聚合 – Linode日本东京机房速度飞快 编程牛人 技术牛人

    IT牛人博客聚合 – Linode日本东京机房速度飞快 编程牛人 技术牛人为了应对亚太地域快速增加的需求,Linode起头把机房建在亚洲了!第一个Linode亚洲机房选择在日本东京.我测了下,速度比本来在美国加州快多了,应当首要得益于收集延时的削减.所以,我当即开了张SupportTicket将我的VPS迁到了日本.迁完以后,拜候速度飞快!和原来在国内某机房没有感受上的区分.大师可以反馈下你会见的速度是不是有晋升?注:Lino

  • apache的安装与配置_apache2.4安装教程

    apache的安装与配置_apache2.4安装教程准备安装包到https://www.apachelounge.com/download/下载你需要的Apache安装包(注意需要相应的VC运行库)解压文件到指定安装目录3.替换安装路径使用文本编辑器打开Apache的配置文件conf/httpd.conf执行文本替换将”c:/Apache24”全部替换成(你自己解压的路径)“G:\web\apache2.4”4

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号