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

文件操作

时间:2022-10-09 18:01:14浏览次数:46  
标签:文件 encoding utf8 模式 操作 txt open

文件操作

1.文件的概念
	就是操作系统暴露给用户操作硬盘的快捷方式	
 		eg:双击一个文件 其实是从硬盘将数据加载到内存
         ctrl+s保存文件 其实是将内存中的数据刷到硬盘保存
2.代码打开文件的两种方式
	方式1:
       # f = open('a.txt', 'r', encoding='utf8')
    f是变量名,把打开的文件数值的赋值给它
        f = open(文件路径,读写模式,encoding='utf8')
        f.close()   #关闭文件资源,不关会占用内存
	方式2:
        with open('a.txt', 'r', encoding='utf8') as f1:
        
        print(f1.read())   # read阅读这个文件  
        	with子代码块
 	ps:with上下文管理好处在于子代码运行结束自动调用close方法关闭资源
"""
open方法的第一个参数是文件路径 并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r
	D:\a\n\t
	r'D:\a\n\t'
以后涉及到路径的编写 推荐加上r  #r的意思是原字符的意思

with支持一次性打开多个文件
	with open() as f1,open() as f2,open() as f3:
		子代码
"""

文件读写模式

'r'		只读模式:只能读不能写
 	 # 1.文件路径不存在:会直接报错
    # with open(r'b.txt','r',encoding='utf8') as f:
    #     print(f.read())
    
    # 2.文件路径存在:正常读取文件内容
    with open(r'a.txt', 'r', encoding='utf8') as f:
        print(f.read())
        
'w'		只写模式:只能写不能看
    # 1.文件路径不存在:自动创建
    # with open(r'b.txt', 'w', encoding='utf8') as f:
    #     pass
    # 2.文件路径存在:先清空文件内容 之后再写入
    with open(r'a.txt', 'w', encoding='utf8') as f:
        f.write('假期综合征 赶紧要调整\n')
        f.write('假期综合征 赶紧要调整\n')
        f.write('假期综合征 赶紧要调整\n')
        # 想写多个内容,可以写多个write
        # write在这个文件里写
    '''强调:换行符需要自己添加 并且在后续数据读取比对的时候也一定要注意它的存在'''
    
'a'		只追加模式:文件末尾添加数据
    # 1.文件路径不存在:自动创建
    # with open(r'c.txt', 'a', encoding='utf8') as f:
    #     pass
    # 2.文件路径存在:自动在末尾等待追加内容
    with open(r'a.txt', 'a', encoding='utf8') as f:
        f.write('放假七天和上班七天感觉是完全不一样的')
        
"""
当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写
这个时候可以使用关键字
	pass
	...
只补全语法不执行功能 本身没有任何的含义
"""

文件操作模式

t	文本模式
	默认的模式 我们上面所写的r w a其实全称是 rt wt at
	1.只能操作文本文件
 	2.读写都是以字符为单位
  	3.需要指定encoding参数 如果不指定则会采用计算机默认的编码
    
b	二进制模式(bytes模式)
	不是默认的模式 需要自己指定 rb wb ab
 	1.可以操作任意类型的文件
 	2.读写都是以bytes为单位
 	3.不需要指定encoding参数 因为它已经是二进制模式了 不需要编码
   
 如果写的内容只有英文和数字,字符串前面直接加b,就等同于.encode('utf8')
 res = '天黑了 要干饭了'
data = bytes(res, 'utf8')  # 等同于encode()
print(date)

ret = str(data, 'utf8')  # 等同于decode()
print(ret)

二进制模式与文本模式针对文件路径是否存在的情况下 规律是一样的!!!

文件诸多方法

1.read() 	
	一次性读取文件内容 并且光标停留在文件末尾 继续读取则没有内容
	并且当文件内容比较多的时候 该方法还可能会造成计算机内存溢出
 	括号内还可以填写数字 在文本模式下 表示读取几个字符
2.for循环
	一行行读取文件内容 避免内存溢出现象的产生
3.readline()
	一次只读一行内容
4.readlines()
	一次性读取文件内容 会按照行数组织成列表的一个个数据值
5.readable()
	判断文件是否具备读数据的能力
6.write()
	写入数据
7.writeable()
	判断文件是否具备写数据的能力
8.writelines()
	接收一个列表 一次性将列表中所有的数据值写入
9.flush()
	将内存中文件数据立刻刷到硬盘 等价于ctrl + s

文件内光标的移动

# with open(r'a.txt', 'r', encoding='utf8') as f:
#     print(f.read(3))  # 文本模式下 3 是字符的意思

# with open(r'a.txt', 'rb') as f:
#     print(f.read(3))  # 二进制模式下 3 是字节的意思
#  数字英文一个字节,汉字三个字节

with open(r'a.txt', 'rb') as f:
    print(f.seek(0,0))
   
    """
    seek(offset, whence)   控制光标,以字节为单位
        offset是位移量 以字节为单位 向后移动,负数是向前移动
        whence是模式   0  1  2
            0是基于文件开头
                文本和二进制模式都可以使用
            1是基于当前位置
                只有二进制模式可以使用
            2是基于文件末尾
                只有二进制模式可以使用
    """
    
     print(f.tell())  
     tell 返回光标距离文件开头产生的字节数

公会

标签:文件,encoding,utf8,模式,操作,txt,open
From: https://www.cnblogs.com/8564129qwe/p/16773108.html

相关文章

  • 解决curl下载夹带中文的文件
    1.提供代码重点关注curl_escapeAPI#include<stdlib.h>#include<stdio.h>#include<sys/stat.h>#include<curl/curl.h>size_tgetcontentlengthfunc(void*p......
  • 文件操作及函数初识
    目录文件操作文件读写模式文件操作模式文件诸多方法文件内光标的移动文件内光标移动案例(了解)计算机硬盘修改数据的原理(了解)文件内容修改(了解)函数前戏函数的语法结构函数的......
  • 文件操作
    文件操作​文件的概念​​就是操作系统暴露给用户操作硬盘的快捷方式​ 双击一个文件其实是从硬盘将数据加载到内存​ ctrl+s保存文件其实是将内存中......
  • 文件操作
    文件操作目录文件操作1文件的概念2代码打开文件的两种方法文件读写操作文件操作模式文件诸多方法文件内光标的移动作业1文件的概念文件就是操作系统给用户操作的快捷方......
  • 10、python正式篇 文件和光标移动
    目录一、文件操作1、文件的概念2、代码打开文本的方式二、文件读写模式1、'r'只读模式read2、'w'只写模式write3、'a'尾部追写模式add三、文件操作模式1、t文本模式......
  • python 时间相关操作
    获取今天是周几time.strftime("%a",time.localtime())获取今天是一周的第几天time.strftime("%w",time.localtime())获取一段时间之前的日期信息((datetime.datetime.......
  • unity editor 获取指定路径下所有指定类型的文件
    使用AssetDatabase.FindAssets获取指定路径下资源。如下,获取指定路径下所有资源名:1string[]pathArr={ConstUtils.cfgPrefix_ActionTimeline};2......
  • 文件操作
    一、打开文件代码打开文件的两种方  ps:with上下文管理好处在于子代码运行结束自动调用close方法关闭资源with支持一次性打开多个文件withopen()asf1,open()......
  • C# 读取文件流
    1///<summary>2///读取文件流3///</summary>4///<paramname="filePath"></param>5///<returns></returns>6publicstaticbyte[]ReadFileStream(......
  • vue 前端导出PDF文件
    原理:通过对页面的截图进行生成PDF文件。PS:这里的截图指的是系统对页面的截图,不是你手动的截图,这里的截图进行可以长截图并且生成对应页数的PDF页码。  首先用npm引入......