首页 > 其他分享 >文件操作

文件操作

时间:2022-10-08 22:33:08浏览次数:40  
标签:f1 文件 read 模式 操作 txt open

文件操作

文件的概念

操作系统显示给用户可以直接操作硬盘的快捷方式

代码打开的两种方式:
f = open('s.txt', 'r', encoding='utf8')
f.close() # 关闭打开的文件
with open('c.txt', 'r', encoding='utf8') as f1:
	with 子代码
with子代码结束时自动调用close方法关闭资源
"""
第一种方法的第一个参数是文件路径, 在我们写路径为了防止特殊符号,在前面直接加r  
"""
open(r'caca.txt')  # 相对路径
open(r'F:\pr\py\caca.txt')  # 绝对路径
"""with 支持一次性打开多个文件
with open() as f1, open() as f2:"""

文件的读写模式

1. 'r' 只读模式:只能读不能写  # read
# 在路径不存在时,直接报错
# 路径存在时,正常打开文件
 """
 able在英语大部分情况下表示的是,具备什么什么的能力
 readable  具备读的能力
 writeable  具备写的能力 
 """
    代码:
with open(r'ca.txt', 'r', encoding='utf8') as f1:
    print(f1.read())

-----------------------------------------------
2.'w' 只写模式:只能写不能看  # write
# 文件路径不存在时,自动创建。文件路径存在时 先清空文件内容之后在写入
代码操作:
with open(r'ca.txt','w',encoding='utf8')as f1:
    f1.write('你看你擦,还不回家\n')
    f1.write('你看你擦,还不回家\n')
    f1.write('你看你擦,还不回家\n')
    print(f1.read())
'''  在多段一起write时,如果不使用分隔符分割,会都在一行里面,不会帮你自动分割,使用我们使用\n分隔符分割段'''
-----------------------------------------------
3. 'a' 只追加模式:文件末尾添加数据
# 路径不存在时,自动创建文件,路径存在时,不会清空文件内容,而是在文件末尾等待新内容的添加
代码:
with open(r'haha.txt', 'a', encoding='utf8') as f1:
    f1.write('一giao,wo里giao')
    print(f1.read())
"""当我们在编写代码的时候有部分不知道些什么代码 一般使用pass  ...关键字 来替代空着不写"""

文件的操作模式

t模式

 r - rt , w - wt, a - at
默认是r w a 其实全称是 rt wt at
这个模式只能操作文本,必须指定encoding 参数,读写都是以字符为最小单位

b模式

二进制模式,bytes
rb wb ab 不可以省略b
可以操作任意类型的文件,不需要指定encoding 参数,读写都是以字节为单位

文件的诸多方法

1. read() 一次性读取文件内容
# 在执行完如果光标在末尾继续读取没有内容,
# 文件特别大的时候会造成内存溢出
# 括号内 可以填写数字 在文本模式下 表示读取几个字符
2. for循环 一行行读取文件内容 避免内存溢出
3. readline() 一次只读一行内容
4. readlines() 一次性读取文件内容,结果是一个列表 里面的数据值对应的是每行的内容
5. redable() 判断文件是不是一个可读的
6. write() 写入文件
7. writelines() 一次性将列表中数据值写入文件中
8. writeable() 判断文件是不是一个可写的
9. flush() 保存的意思 相当于ctrl + s

文件的光标移动

ca.txt的内容为:你看你擦
with open(r'ca.txt','r',encoding='utf8')as f:
    print(f.read(3))  # 结果为 你看你
    # raed在文本模式下,括号内的数字表示的是读取指定的字符个数
  
with open(r'ca.txt','rb') as f:
    print(f.read(3).decode('utf8'))  # 结果为 你
    # read在二进制模式下,括号内的数字表示的是读取指定的字节数
    # utf8中文都是用3字节来表示,英文用1字节来表示
-----------------------------------------------
'''  seek(offset, whence)
    offset是位移量 以字节为单位
    seek中whence位如果没有填写值,默认是0       '''
       0 :就是让光标移动到文件开头处
        可以支持文本模式和二进制模式
        
       1 :就是让光标停留在当前的位置
        只支持二进制模式
        
       2 :就是让光标移动到文件末尾处
         只支持二进制模式
caa.txt的内容为:你看你擦
with open(r'haha.txt','r',encoding='utf8')as f:
    print(f.read(1))  # 结果为你
    f.seek(3,0)
    print(f.raed(1))  # 结果为看
    print(f.tell())  # 结果为6
    # seek可以控制光标的移动,在文本模式下移动的单位也是字节数
    seek(offset,whence)  # 两个参数格式
    offset:用来控制移动的字节数
    whence:控制模式

标签:f1,文件,read,模式,操作,txt,open
From: https://www.cnblogs.com/LiaJi/p/16770526.html

相关文章

  • 编译py文件
    编译.py文件为.pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种bytecode,py文件变成pyc文件后,加载的速度有所提高。而且pyc是一种跨平台的字节码......
  • redis的hash数据类型的基本操作
    1、首先连上你的redis以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示2、hash相关操作说明:redis的hash键值对集合,特别适合存储对象,类似于java中......
  • 2.5 查询文件具体的详细信息 .stat() 查询 st_ctime等文件信息
    #  查询文件信息  .stat()    importosforfileinos.scandir():#扫描目录文件print(file.stat())#查询文件具体的详细信息importos......
  • 进入python的世界_day9_python基础——文件操作
    一、文件操作1.什么是文件?​ 文件其实是操作系统暴露给用户操作硬盘的快捷方式(接口)2.代码如何操作文件​ 关键字open('')​三步走:​ 1.利用关键字open打......
  • 文件操作
    目录文件操作文件的概念打开文件的两种方式补充文件读写模式r模式w模式a模式w模式和a模式异同文件操作模式t模式b模式b模式对比t模式文件的诸多操作方法文件内光标的移动......
  • 文件的操作方式以及读写模式
    1.文件的概念2.文件的操作方式3.文件的读写模式4.文件操作模式5.文件诸多方法6.文件内容修改7.文件光标移动###文件操作```python1.文件的概念文......
  • redis的set数据类型的基本操作
    1、首先连上你的redis以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示2、set相关操作说明:redis的set是String类型的无序集合,它底层其实是一个val......
  • react e.stopPropagation() 前调用 await 耗时操作 的坑
    代码如下<divonClick={e=>{e.stopPropagation();}}/>这样是能阻止冒泡的,e.stopPropagation();能正常执行但是下面这样写是不行的<divonClick=......
  • 大疆 L1 任务文件格式说明(CLC/CLI/CMI/IMU/LDR/MNF/RTB/RTK/RTL/RTS/JPG/MOV)
    大疆L1任务文件格式说明(CLC/CLI/CMI/IMU/LDR/MNF/RTB/RTK/RTL/RTS/JPG/MOV)​​大疆L1官网简介​​​​CLC​​​​CLI​​​​CMI​​​​IMU​​​​LDR​​​​MNF​......
  • Linux 操作系统的镜像文件下载地址
    先存着,以后再继续更新Ubuntu14.10 官方下载:​​Ubuntu14.10​​​​Ubuntu14.10​​国内镜像站点下载地址:​​中国科学技术大学​​​​网易镜像地址(二)​​​......