0x01 打开一个文件

python中内置了文件对象,通过open()函数就可以制定模式打开指定文件,并创建文件对象。该函数的格式如下:

open(file[,mode='r'[,buffering=-1]])
  • file:指定要打开或创建的文件名称,如果该文件不存在当前目录,则需要指明路径
  • mode:指定打开文件后的处理模式
  • buffering:指定读写文件的缓冲模式,数值为0表示不缓存,数值为1表示使用行缓存模式,数值大于1表示缓冲区的大小,默认值为-1。二进制文件和非交互文本文件以固定大小的块缓冲单位,等价于IO

0x02 对文件内容进行操作

向文本文件写入内容

如果需要向文本文件中写入内容,在打开文件时就需要指定文件的打开模式为写模式。应根据不同的开发需要选取不同的写入模式

  • w:写入模式,文件可以不存在,如果不存在,则创建文件

我们的程序目录内容为:

#! /usr/bin/python
#coding:utf-8
s = 'hello python! \n'
f=open('demo.txt','w')
f.write(s)
f.close()

运行结果,多了一个demo.txt,文件内的内容就是我们写入的

  • x:写入模式,文件必须要存在,不存在抛出异常
    此是没有demo.txt文件,打开模式为x
#! /usr/bin/python
#coding:utf-8
s = 'hello python! \n'
f=open('demo.txt','x')
f.write(s)
f.close()

运行结果如下图,我们可以看到爆出一个文件不存在的错误

  • a:追加模式,不覆盖文件的原始内容
    w模式每次写入都会将文件的原始内容删除,然后在写,a模式不会删除
#! /usr/bin/python
#coding:utf-8
s = 'hello python! \n'
f=open('demo.txt','a')
f.write(s)
f.write(s)
f.close()

运行结果,我们可以看到demo.txt的内容,这里demo.txt存不存在无所谓

读取文件中的内容
  • r:读模式(默认模式,可以审略),如果文件不存在,则抛出异常
  • +:读写模式
    读取文件第一行内容:
#! /usr/bin/python
#coding:utf-8f=open('demo.txt','r')
print(f.readline())
f.close()

运行结果

读取文件所有内容:

#! /usr/bin/python
#coding:utf-8f=open('demo.txt','r')
print(f.read())
f.close()

运行结果

0x03 关闭文件对象

当操作完文件内容以后,一定要关闭文件对象,这样才能确保所做的修改都保存到文件中。关闭文件对象的语句是:

f.close()

文件操作一般遵循打开—读写—关闭的基本流程,但是如果文件读写操作代码发生了异常,就很难保证被正常关闭。可以使用上下文管理关键字with来避免产生这个问题。对于with的具体原理,这里参考这边文章:https://www.cnblogs.com/wongbingming/p/13791972.html
关键字with能够管理资源,总能保证文件正确关闭,并且可以在代码执行结束后自动还原开始执行代码块时的现场,

#! /usr/bin/python
#coding:utf-8with open('demo.txt','a') as f:f.write('233333333 \n')

运行结果,关闭文件都不用我们关闭

python---文件处理相关推荐

  1. 在pycharm中无法引入同一目录下的python文件

    问题 同一目录下存在以下两个python文件: 1. app.py 2. forms.py 现在我希望在app.py中引入forms.py的某个函数,但是出现如下情况: 主要表现在: 函数标红 无法自 ...

  2. 关于python文件读写小结

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  3. Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)

    目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...

  4. python 文件追加写入_Python写入文件–解释了打开,读取,追加和其他文件处理功能

    python 文件追加写入 欢迎 (Welcome) Hi! If you want to learn how to work with files in Python, then this arti ...

  5. Python 文件 close() 方法

    描述 Python 文件 close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对 ...

  6. python文件和目录

    # -*- coding: utf-8 -*-import osdef printFile(rootDir):allFiles = os.listdir(rootDir) #列出文件夹下所有文件和目录 ...

  7. 深度学习运行python文件,出现跨路径搜索其他module,怎么解决?

    在运行的目标python文件顶部,添加需要用的模块的搜索路径: 1)import sys, os sys.path.append(os.pardir) #添加的路径是,待运行目标python文件所在文 ...

  8. 第九课.Python文件操作

    Python文件读写 最基本的,通过open返回文件句柄(文件对象),将文件读入内存: #f是一个文件对象 f=open('./sample.txt') data=f.read()#read读取所有内 ...

  9. sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用

    sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用 打开pycharm --> Run --> Edit Configurations --> ...

  10. python文件信息排序_python文件排序的方法总结

    在python环境中提供两种排序方案:用库函数sorted()对字符串排序,它的对象是字符:用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名'屏蔽'). (1 ...

最新文章

  1. 智能制造业乘风破浪,工业机器人怎样勇立潮头?
  2. intellij idea 配置远程访问本地的tomcat项目
  3. jQuery extend方法介绍
  4. 推荐系统笔记:基于SVD的协同过滤
  5. Swagger2介绍
  6. 2019第一篇万字长文!30+家一线投资机构已出投资新策略...
  7. java版开源工作流引擎ccflow从表数据数据源导入设置
  8. linux服务器u盘启动项检测不到,将U盘设置为第一启动项之后却检测不到U盘怎么办?...
  9. python opencv显示图片动态_opencv-python计算机视觉图像处理学习笔记2——打开图片,保存图片,显示图片...
  10. python 两点曲线_python机器学习分类模型评估
  11. gtp怎么安装系统_UEFI+GTP模式下使用GHO文件安装WIN7或WIN8图文教程
  12. centos 解决“不在 sudoers 文件中。此事将被报告“的问题
  13. Unity3D基础4:空物体与预制体
  14. 三班倒有害健康,建议六班倒
  15. TypeScript keyof 用法
  16. 树莓派自带wifi工作不正常
  17. Python练习实例---房贷计算机
  18. Android自学笔记:Tab控件源码剖析
  19. 项目 编码规则(编写代码规则)
  20. S-function的使用

热门文章

  1. 分享下自己的EmpireofCode进攻策略 https://empireofcode.com/ https://empireofcode.com/game/#
  2. 一个页面从输入URL到加载显示完成,发生了什么?
  3. Jquery中如何获取元素的文本,值,属性和内容
  4. css 浮动和清除浮动
  5. Oracle连接字符串记录
  6. 控制HTML Input只能输入数字和小数点
  7. CF 839 E-最大团
  8. some fragments
  9. Android中的Handler机制
  10. Java里String.split需要注意的用法