首页 > 编程语言 >python基础: 文件操作

python基础: 文件操作

时间:2023-01-18 22:12:10浏览次数:52  
标签:文件 encoding python utf8 模式 操作 txt open

目录

文件操作简介

文件操作:

通过编写代码自动操作文件读写

什么是文件:

打开文件,双击文件图标是从硬盘加载数据带内存

保存文件,就是将内存中的数据刷到硬盘

PS:文件实际就是操作系统暴露给用户操作计算机硬盘的快捷方式之一

打开文件的俩种方式

方式一:

open(文件路劲,读写模式,字符编码)

方式二:

with open() as 变量名:
	子代码运行结束之后自动调用close()方法
'''
1.with语法支持一次性打开多个文件,with open() as 变量名,open() as 变量名,open() as 变量名...:
2.python的补全语法,但是实际不执行任何操作,只是放在那里,补充语法
	其中有:  pass	推荐使用
			...,  不推荐使用
'''

文件路劲注意事项:可能存在特殊含义(字母与撬棍的组合),在字符串的前面加字母r即可取消特殊含义

文件读写模式

r-----只读模式(默认模式):

使用该模式打开的文件只能读取内容 不能写、追加的其他操作

# 文件路径不存在: r模式直接报错
# with open(r'aaa.txt', 'r', encoding='utf8') as f:
#     pass
# 文件路径存在: r模式会打开文件等待读取文件内容
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    print(f.read())
    # f.write('123')

image-20220629163804338

如果在只读模式下想要执行写的操作,文件不能正常的运行,not writable指的是不能够进行些的操作 ,able结尾的就是指能不能具备它前面单词的操作

w----只写模式:

使用该模式打开的文件只能写内容,不能读取

# 文件路径不存在: w模式会自动创建该文件
# with open(r'aaa.txt', 'w', encoding='utf8') as f:
#     pass
# 文件路径存在: w模式会清除原来文件的内容,之后等待填写新的内容
with open(r'aaa.txt', 'w', encoding='utf8') as f:
    pass

a----只追加模式:

使用该模式打开的文件默认是在末尾追加新的内容,不能做其他操作(读)

# 文件路径不存在: a模式会自动创建该文件
# with open(a'aaa.txt', 'a', encoding='utf8') as f:
#     pass
# 文件路径存在: a模式不会清除原来文件的内容,在文件末尾等待写入新内容
with open(r'aaa.txt', 'a', encoding='utf8') as f:
    pass

文件操作模式

t----文本模式(文件操作的默认模式)

注意:只能操作文本文件,文档类型的,不能操作图片、音频等。

	必须指定encoding参数

	读写都是以字符串为单位

b----二进制模式

注意:用这个模式的时候必须自己指定不能省略,rb、wb、ab

	能够操作所有类型的文件

	不需要指定encoding参数

	读写都是以bytes为单位

拷贝功能

# 文本模式copy文件,只能copy文本文件
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.read()
with open(r'bbb.txt', 'w', encoding='utf8') as f:
    f.write(data)
# 使用二进制模式可以copy任何文件
with open(r'111.jpg', 'rb') as read_f, open(r'222.jpg', 'wb') as write_f:
    # data = read_f.read()
    # write_f.write(data)
    write_f.write(read_f.read())

文件的诸多操作方法

通过.可以提示好多方法

'''
文件对象支持for循环一次只读一行
每次循环只读一行,没有任何绑定,每次执行完就会被垃圾回收装置回收,不会浪费内存
'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    for i in f:
        print(i)
        print('..........')
    ...

'''
理论上会出现俩次文本内的信息
一次性读取文件内容的时候光标会停留在文件末尾,继续读则为空
'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.read()
    print(data)
    data1 = f.read()
    print(data1)
'''
.readline()一次只能读一行内容
'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.readline()
    print(data)
    data1 = f.readline()
    print(data1)
'''
.readlines()按照行的方式读取所有内容并组织成列表返回

'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.readlines()
    print(data)
'''
.readable()判断当前文件是否可读
'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.readable()
    print(data)
'''
.writable()判断当前文件是否可写
'''
with open(r'aaa.txt', 'r', encoding='utf8') as f:
    data = f.writable()
    print(data)
'''
.write()每次执行都会清空内容
'''
with open(r'aaa.txt', 'w', encoding='utf8') as f:
    f.write('要吃中午饭了')
'''
.writelines()支持填写容器类型(内部有多个数据值的类型)
'''
'''
.flush()将内存中的文件数据立即刷到硬盘,主动按ctrl+s
'''

标签:文件,encoding,python,utf8,模式,操作,txt,open
From: https://www.cnblogs.com/wxlxl/p/17060721.html

相关文章

  • Pandas应用实例(DataFrame基本操作,画图)
    题目要求利用Pandas建立学生信息二维表,包含姓名、年龄、性别、专业、个人电子设备数量和平均月支出(以一百元为单位)六类信息,至少创建10条具有代表性的记录(10分)。显示......
  • 文件管理
    最好用的图片视频文件管理专家,保护您的隐私照片视频,支持rmvb、mp4、mkv等各种格式视频播放功能,批量管理照片和视频,简单实用的用户界面,是iPhone装机必备工具。主要功能:*在......
  • 【Python学习】cannot write mode rgba as jpg解决
    从网上下载图片作为数据集,想以jpg格式保存,但因为原图片的格式不同,保存时出现了报错在CSDN看到给出的一种解决办法img.convert('RGB')但是依旧会报错,鲜红的报错啊后......
  • Spring MVC文件上传示例
    SpringMVC提供了一种上传文件的简便方法,它可以是图像或其他文件。让我们看一个使用SpringMVC上传文件的简单示例。必需的Jar文件要运行此示例,您需要加载:SpringCore......
  • 【转】PageOffice实现文件在线安全预览——禁止编辑、下载、复制等
    实际应用中,很多时候不仅需要在线编辑文件,还需要在线安全预览文件,要求不能复制、下载、另存到本地等情况。pageoffice可以实现文件在线安全预览,禁止:编辑、复制、粘贴、右键......
  • 【转】pageoffice在线编辑word文件实现表格赋值
    Word中的table是要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。因此,要想使用table,则必须在word文件中......
  • linux 基础(3)基本文件操作
    目录的基本操作在linux文件系统里,以斜杠/开头的路径是绝对路径,从根目录开始寻找;其他的路径则都是相对路径,从当前目录(workingdirectory)开始寻找。相对目录中常用的符......
  • 父子进程文件共享
    学习地址继承了标准输入、标准输出、标准错误;文件描述符表里面是指针,父子进程指向一致,故位置指针也一致;接续写文件,不是各自写各自的;......
  • 34-ElasticSearch-初步检索的基本操作
    1、_cat用PostMan测试如下2、索引一个文档(保存)Post如果不指定id,会自动生成id,并且每次执行都是新增操作。如果带上id就是修改,并且新增版本号Put可以新增也可以修改。......
  • # yyds干货盘点 # 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件
    大家好,我是Python进阶者。一、前言前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。二、需求澄清粉丝......