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

python 文件操作

时间:2023-07-03 16:15:23浏览次数:34  
标签:文件 encoding python open 操作 readline txt buf

文件介绍

文本文件

  • 可以使用记事本软件打开
  • txt, py, md, json

二进制文件

  • 不能使用 记事本软件打开
  • 音频文件 mp3
  • 视频文件 mp4 ....
  • 图片 png, jpg, gif, exe

文件操作

打开文件 open( )

r w a 是⽂本⽅式打开, 适⽤于⽂本⽂件, 会对⼆进制进⾏编码转换 rb wb ab 是⼆进制⽅式打开, 可以打开⽂本⽂件和⼆进制⽂件, 但是 ⼆进制⽂件只能使⽤ ⼆进制⽅式打开,同时,不能传递 encoding 参数。
# 写法一
f = open('a.txt', encoding='utf-8')
data = f.read()
print(data)
f.close()

# 写法二(推荐)
with open('a.txt', encoding='utf-8') as f:
    buf = f.read()
    print(buf)

关闭文件 close( )

文件对象.close()   # 关闭文件, 如果是 写文件, 会自动保存, 即将内存中的数据同步到硬盘中

读文件 read( )

变量 = 文件对象.read() 返回值: 返回读取到文件内容, 类型是字符串

按行读取⽂件 readline()

⽂件对象.readline()   # ⼀次读取⼀⾏的内容, 返回读取到的内容 read() 和 readline() 如果读到⽂件末尾, 返回的都是 空字符串
with open('a.txt', encoding='utf-8') as f:
    buf = f.readline()
    print(buf)    # aaaaaa
    buf1 = f.readline()
    print(buf1)    # bbbbbb
# 读取大文件
with open('a.txt', encoding='utf-8') as f:
    while True:
        buf = f.readline() # ⽂件读完了,返回 空字符串
        if buf:
            # 空字符串是 False, ⾮空字符串 是True
            print(buf, end='')
        else:
            break

写文件 write( )

文件对象.write() # 参数: 写入文件的内容, 类型 字符串 # 返回值: 写入文件中的字符数, 字符串的长度, 一般不关注
with open('a.txt', 'a', encoding='utf-8') as f:
    f.write('good good study\n')

json 文件

 

 

标签:文件,encoding,python,open,操作,readline,txt,buf
From: https://www.cnblogs.com/lwj0126/p/17523140.html

相关文章

  • File - 删除文件
    try{//删除临时上传的Excel文件if(System.IO.File.Exists(path)){FileInfofi=newFileInfo(path);if(fi.Attributes.ToString().IndexOf("ReadOnly")!=-1)......
  • linux源码解读(三):文件系统——inode【转】
    转自:https://www.cnblogs.com/theseventhson/p/15622853.html众所周知,计算机系统在掉电后也能存储数据的就是磁盘了,所以大量数据大部分时间是存放在磁盘的;现在新买的PC,磁盘从数百G到1TB不等;服务器的磁盘从数十TB到上百TB,这么大的存储空间,该怎么高效地管理和使用了?站在硬件角度,cpu......
  • python configparser模块的应用
    1、获取所有sectionimportconfigparser config=configparser.ConfigParser()config .read('文件所在的路径',encoding='utf-8')ret=config .sections()print(ret) 2、获取指定section下所有的键值对importconfigparser config=configparser.ConfigParser()......
  • Flask 模型表操作 单表
    Flask模型表操作单表classUser(db.Model):#表名__tablename__='tb_user'#字段id=db.Column(db.Integer,primary_key=True,autoincrement=True)#一定要有类型primary_key=True主键autoincrement=True自动增长name......
  • 在Java中使用Apache POI导入Excel文件并保留内容的换行符
    importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importjava.io.FileInputStream;importjava.io.IOException;publicclassReadExcelWithNewlines{publicstaticvoidmain(String[]args){StringfilePat......
  • python pytest 参数化的几种方式
    在pytest框架中,可以使用多种方式进行参数化测试。以下是一些常见的参数化方式及其示例:使用@pytest.mark.parametrize装饰器:可以使用pytest提供的@pytest.mark.parametrize装饰器来指定参数化测试的参数。下面是一个示例:[email protected]("num,expecte......
  • Python 转 Byte
    Python转Byte:详细介绍Python是流行的编程语言之一,拥有广泛的用途。在Python中,我们经常需要将数据从一种格式转换为另一种格式。其中一个转换的方式是将Python对象转换为字节数据,或者反过来。这篇文章将深入介绍Python转换为字节数据。什么是Byte?在计算机科学中,字......
  • python pytest框架文件结构
    pytest框架的文件结构相对灵活,没有强制要求特定的文件结构。然而,以下是一种常见的pytest框架文件结构示例:测试文件:测试文件是编写测试用例的主要部分,通常以test_开头,并以.py为扩展名。例如,test_example.py。测试函数:在测试文件中,测试用例通常以函数的形式存在。测试函数的命......
  • C# - 后台通过url下载文件到指定目录
     后台通过url下载文件到指定目录stringurl="https://file/Get/c76918bd-b4af-41b3-b767-32b5582d77de"; //下载地址using(WebClientclient=newWebClient()){client.DownloadFile(url,@"C:\JXW\TMP.xlsx");......
  • java8发送邮件失败, 修改jdk镜像中的java.security文件
    背景原本部署环境中的java:8镜像在检查问题删除,用dockerpullopenjdk:8重新拉取并改名java:8,在重新部署后,发送邮件报错:javax.net.ssl.SSLHandshakeException:Noappropriateprotocol(protocolisdisabledorciphersuitesareinappropriate)!!!原因根本原因是j......