Python基础__with open()用法

这篇具有很好参考价值的文章主要介绍了Python基础__with open()用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、open与with open区别

open()完成后必须调用close()方法关闭文件,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的,由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。with open()则可以避免这样的情况。

2、代码

#文件的读操作
with open('input_filename.txt','r') as f:#r为标识符,表示只读
   df=pd.read_csv(f)  
   print(f.read())
'''
其他标识符:
r:	以只读方式打开文件。
rb: 以二进制格式打开一个文件用于只读。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。
'''
#文件的写操作
with open('output_filename.csv', 'w') as f:
   f.write('hello world')  
'''
其他标识符:
w:	打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb:	以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+:	打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab:	以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+:	打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
''' 4

3、方法和属性

f.read([size])   #将文件数据作为字符串返回,可选参数size控制读取的字节数
f.readlines([size])   #返回文件中行内容的列表,size参数可选
f.write(str)   #将字符串写入文件
f.writelines(strings)   #将字符串序列写入文件
f.close()   #关闭文件

f.closed	#返回布尔值,文件已经被关闭为True,否则为False
f.mode	#Access文件打开时使用的访问模式
f.encoding	#文件所使用的编码
f.name	#文件名
f.newlines	#未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
f.softspace	#为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

4、注意

  1. 要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数
  2. 读取时调用read()将一次性读取文件的全部内容,如果文件有10G,内存就爆了,保险起见可反复调用read(size)方法,每次最多读取size个字节的内容。
  3. 调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
  4. 根据需要调用:如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便

文献参考python读取文件之with open()文章来源地址https://www.toymoban.com/news/detail-688967.html

到了这里,关于Python基础__with open()用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python基础教程:re模块用法详解

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 一、正则表达式的特殊字符介绍 正则表达式 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ 素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可 二、re模块的方法介绍 1、匹配类方

    2024年02月11日
    浏览(43)
  • Python多线程编程全解析:基础到高级用法

      Python中有多线程的支持。Python的 threading 模块提供了多线程编程的基本工具。在下面,我将列举一些基础的多线程用法和一些高级用法,并提供相应的源代码,其中包含中文注释。 这些例子涵盖了一些基础和高级的多线程用法。请注意,在Python中由于全局解释器锁(GIL)的

    2024年02月03日
    浏览(50)
  • Python基础学习:try...except...的详细用法

    我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except 1.异常类只能来处理指定的异常情况,如果非指定异常则无

    2024年02月09日
    浏览(57)
  • Docker搭建Kafka教程(python使用kafka基础用法,生产消费)

    Docker支持多种网络模式,包括bridge(桥接模式)、host(主机模式)、overlay(覆盖网络模式)等。 Bridge(桥接模式):这是Docker默认的网络模式。在桥接模式下,每个Docker容器都运行在自己的虚拟网络接口上,并且这些接口通过一个桥接器连接在一起。Docker服务端启动时会自

    2024年02月03日
    浏览(42)
  • Python丨tkinter开发常用的29种功能用法(建议码住)

    在Python软件开发中,tkinter中command功能的作用是为按钮、菜单等组件绑定回调函数,用户操作该组件时会触发相应的函数执行。 本文涵盖了各种组件和功能: 1、为Button组件(按钮)绑定回调函数   2、为Checkbutton组件(多选择钮)绑定回调函数   3、为Radiobutton组件(单选择钮

    2024年02月06日
    浏览(86)
  • 深入了解Python的eval函数:基础用法与潜在危险【第118篇—eval函数】

    在Python中, eval 函数是一个强大而灵活的工具,它允许将字符串作为代码来执行。然而,虽然 eval 在某些情况下非常方便,但它也潜藏着一些潜在的危险,如果不小心使用,可能导致安全性问题。在本文中,我们将深入探讨 eval 函数的基础用法,并提供一些使用该函数时需要

    2024年03月12日
    浏览(47)
  • 【Python】Python语言基础(中)

    ❤️ 博客主页 : iknow181 🔥 系列专栏 : Python、JavaSE、JavaWeb、CCNP 🎉 欢迎大家点赞👍收藏⭐评论✍ 目录 第十章 Python的数据类型 基本数据类型 数字 整数 浮点数 浮点数的精度问题 布尔型 进制转换 十进制转其它进制 其他进制转十进制 其它进制转其它进制 数字的随机 ra

    2024年02月08日
    浏览(53)
  • Python 实验二 Python语言基础

    1.运用输入输出函数编写程序,将华氏温度转换成摄氏温度。换算公式:C=(F-32)*5/9,其中 C为摄氏温度,F为华氏温度。 2.编写程序,根据输入的长和宽,计算矩形的面积并输出。 3.编写程序,输入三个学生的成绩计算平均分并输出。 4.根据以下叙述写出正确的条件表达式: 有语

    2023年04月18日
    浏览(56)
  • 【Python】Python语言 3小时速通(有C语言基础版)

    并不需要指出变量类型 存储数据时经常使用lower,因为无法确保数据是大写还是小写 从这里可以看出python对于数据和字符处理具有很多优势 直接通过加号的形式拼接 他们都相当于字符(串) 不强转会报错 用#而不是// 增加元素 类似于数组,访问方式同数组 按位置删除 按值

    2024年01月21日
    浏览(42)
  • [系统安全] 五十五.恶意软件分析 (7)IDA Python基础用法及CFG控制流图提取详解[上]

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更

    2024年01月23日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包