首页 > 编程语言 >python文件

python文件

时间:2022-10-31 09:56:40浏览次数:47  
标签:文件 encoding python bytes 模式 操作 硬盘

文件

  1. 什么是文件?
     文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口
     用户/应用程序:(f=open(),获取文件对象、文件句柄)
     操作系统:文件
     计算机硬件:硬盘
    
  2. 文件的作用?
  用于应用程序操作硬盘进行数据的永久存储,或从硬盘中读取数据
  应用程序操作文件的行为,都是文件在调用操作系统,操作系统将其转为具体的硬盘操作
  1. 使用文件
# 打开文件,
f = open(r'文件路径',mode="rt",encoding="utf-8") # r兼容平台路径的转义
# 文件读写
f.read()
# 关闭文件
f.close()

文件模式

文件内容模式

  1. t模式:文本模式,读写都是以字符串(unicode)为单位的,只能针对文本文件,必须指定字符编码encoding="utf-8"
  2. b模式:binary模式
    # 1. 读写都是以bytes为单位
    # 2. 可以针对所有文件类型
    # 3. 一定不能指定字符编码
    # 4. 如何是纯英文字符,可以使用b'111aasdf'得到bytes类型
    # 5. "上".encode('utf-8') == bytes('上',encoding="utf-8")
    with open(r"xx.mp3",mode="rb") as f:
     ...
    

文件操作模式

  1. r模式:只读模式
  2. w模式:只写模式,清空写
  3. a模式:只写模式,追加写
  4. +模式(了解):可读可写,不能单独使用,必须与r/w/a配合使用
  5. x模式(了解):只写模式,不存在则创建,存在时报错

文件操作方法

# 读操作
f.read() # 读取所有内容,执行完读操作光标移动到最后
f.read(1024) # 读取内容大小,
f.readline() #一次读一行,光标移动到下一行首位
f.readlines() # 读取每一行,返回一个列表移动到最后

# 写操作
f.writelines(list) # list列表写入文件 

# flush
f.flush() # 刷新

# readable/wirtable/closed : 判断是否可以读、写、是否关闭
f.readable()
f.writable()
f.closed
f.name
f.encoding

文件的指针操作

指针的移动单位都是以bytes为单位的,只有一种情况特殊,t模式下的read(n),n代表的是字符个数

模式:

  1. 模式0:参照物是文件开头位置
  2. 模式1:参照物是指针当前位置
  3. 模式2:参照物是文件开头结尾

只有0模式可以在t下使用,1、2必须在b模式下用

f.seek(2,0)
f.seek(2,1)
f.seel(-2,2) # 倒序查找
f.tell() # 获取文件指针位置

标签:文件,encoding,python,bytes,模式,操作,硬盘
From: https://www.cnblogs.com/hyf120/p/16842871.html

相关文章

  • python数据类型
    数值类型1.1整型int类型转换:int("10")10进制转为二进制:bin()10进制转为八进制:oct()10进制转为16进制:hex()二进制转为10进制:int("0b1011",2)八进制转为10进制:int......
  • 如何用 Python 来模拟概率
     小朋友问我一个问题,如何用Python来模拟概率. 题目是:从 [-2,-1,0,1,2,3]中随机选择两个不同的数,乘积为0的概率是多少?我搜索并思考了一下,得出以下......
  • Linux-文件与目录操作命令
    1.lsLinuxls(英文全拼:listdirectorycontents)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。1.1语法:ls[-alrtAFR][name...]......
  • NFS网络文件共享服务
        储存类型直连式存储:Direct-AttachedStorage,简称DAS网络附加存储:Network-AttachedStorage,简称NAS(存储和管理空间都在远程)存储区域网络:StorageAreaNetwor......
  • 文件和目录管理
    常见的目录七类常见文件类型 压缩,解压缩三种模式命令模式 常见目录一级目录/bin/存放系统命令,普通用户和root都可以执行。放在/bin下的命令在单用户......
  • Linux文件系统与日志分析
     inode结构表每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(metadata)元数据是存放在inode(indexnode)表中。inode表中有很多条记录组成,第一条记......
  • ASP.NET Core教程-Configuration(配置)- 配置文件
    更新记录转载请注明出处:2022年10月31日发布。2022年10月28日从笔记迁移到博客。ASP.NETCore应用配置说明当我们需要将程序发布到不同环境中时,需要让应用支持配......
  • 盘点一个高德地图Python网络爬虫中前端数据和获取数据不一致问题
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显......
  • 【idea技巧】idea文件显示最近编辑时间
    显示效果设置方法......
  • SpringBoot 上传文件报错org.apache.tomcat.util.http.fileupload.impl.FileSizeLimit
      org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException:Thefieldfileexceedsitsmaximumpermittedsizeof1048576bytes.由报错信......