一、文件操作步骤

step1:打开文件,得到文件句柄并赋值给一个变量

step2:通过句柄对文件进行操作

step3:关闭文件

举例:

a= open('hello world', 'r', encoding = 'utf-8') #打开 ‘hello world’ 文件,得到文件句柄并赋值给一个变量 a

data = a.read() #通过句柄对文件进行读操作

a.close() #关闭文件

注意事项一:

关于 a.close() 关闭文件

打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。

在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为:

1、f.close() #回收操作系统级打开的文件

2、del f #回收应用程序级的变量

其中del f一定要发生在f.close()之后,否则就会导致操作系统打开的文件还没有关闭,白白占用资源。

而python自动的垃圾回收机制决定了我们无需考虑del f。

这就要求我们,在操作完毕文件后,一定要记住f.close()

简单的来说,每 open() 一个文件,就要求我们必须 close()

用关键字 with ,可以使用 close()

with open('hello world', 'r', encoding = 'utf-8') as a:

data=a.read()print(data)

等同于

a= open('hello world', 'r', encoding = 'utf-8')

data=a.read()print(data)

a.close()

注意事项二:

关于 open() 文件时编码方式的问题

如果我们在 open() 文件的时候不说明编码方式的时候,系统默认的是按照操作

系统的编码方式来(windows操作系统编码方式是gbk,linux操作系统编码方式是utf-8)

所以为了避免不乱码、不报错 文件以什么编码方式保存的,就要以什么编码方式打开

二、关于文件操作模式

r,只读模式【默认模式,文件必须存在,不存在则抛出异常】

w,只写模式【不可读;不存在则创建;存在则清空内容】

a,追加写模式【不可读;不存在则创建;存在则只追加内容】

1.‘r’ 只读模式

open() 文件时,如果不指定操作方式,默认为只读模式

读操作的相关函数:

.read()

功能:对文件进行读操作,读取全部文件全部内容

.readable()

功能:判读文件是否可读

举例:

a= open('helloworld', 'r', encoding = 'utf-8')

date=a.read()print(date)print(a.readable()) #判断文件是否可读,是的话返回True

a.close()

a= open('helloworld', 'w', encoding = 'utf-8')print(a.readable()) #判断文件是否可读,否的话返回True

a.close()

.readline()

功能:读取文件的一行内容

举例:

a= open('helloworld', 'r', encoding = 'utf-8')print(a.readline())print(a.readline())print(a.readline())

a.close()#执行结果:

aaaaa

bbbbb

ccccc#获取的每一行中间会有一个空白行间隔,那是因为每一行默认有一个换行符#通过以下方式可以去掉间隔行

a= open('helloworld', 'r', encoding = 'utf-8')print(a.readline(),end = '')print(a.readline(),end = '')print(a.readline(),end = '')

a.close()#执行结果

aaaaa

bbbbb

ccccc

.readlines()

功能:读取文件每一行内容,并将每一行内容存放在一个列表里

举例:

a= open('helloworld', 'r', encoding = 'utf-8')print(a.readlines())

a.close()#执行结果

['aaaaa\n', 'bbbbb\n', 'ccccc\n', 'ddddd']

2.‘w’ 只写模式

在写模式下,执行文件

如果文件存在,将文件内容清空再执行其他操作

如果文件不存在,新建该文件

写操作的相关函数

.write()

功能:针对文本模式的写,需要自己写换行符

举例:

a= open('helloworld', 'w', encoding = 'utf-8')

a.write('aaaa\n')

a.write('bbbb\n')

a.close()#将文件内容清空,在执行写操作

.writelines()

功能:以列表形式写文件

举例:

a= open('helloworld', 'w', encoding = 'utf-8')

a.writelines(['aaaa\n', '1111\n'])

a.close()

.writeable()

功能:判断文件是否可写

举例:

a= open('helloworld', 'w', encoding = 'utf-8')print(a.writable())

a.close#执行结果

True

注意:

在给文件写内容是,写的参数必须是字符串类型,如果写入其他类型会报错

3.‘a’模式 追加写模式

举例:

a= open('helloworld', 'a', encoding = 'utf-8')

a.write('追加到最后一行')

a.close()

任务:

打开一个文件,保留其第二行内容

src_f = open('helloworld', 'r', encoding = 'utf-8')

data=src_f.readlines()

src_f.close()print(data)

dst_f= open('helloworld', 'w', encoding = 'utf-8')

dst_f.write(data[1])

dst_f.close()

写在后面:

最近都好忙,在忙着发学院会议论文、忙着发ccc会议论文、忙着写开题报告、忙着投专利

总感觉自己效率不是很高

自己也一直想办法  努力提高自己效率

好好加油吧

不要在忙碌中迷失了自我

不要忘记最初的梦想

我觉得,最可贵的事情  就是在不断的成长过程中

保持那颗善良的心  坚持自己的梦想

一直想去大城市闯闯

虽然过来的人总和我说   一个人在外  太不容易

我好想一直就是个倔强的人

我一直想证明  我是一个厉害的小伙郭

加油啦

python调用vb文件_Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】...相关推荐

  1. python分析鸢尾花数据_python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据...

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  2. python请输入第一个数请输入第二个数_Python小白学习之路(四)——第一次练习题...

    写在前面: 今天下雪了呢!连着两天都没有更新学习记录. 我没有偷懒呢.做了一天的练习题,昨天学的内容还没总结完,太累了就回去睡觉了 连续一周早起,强大的内心也无法支撑我疲惫的身体 今天早起做了整理.加 ...

  3. python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】...

    一.变量 变量的作用:记录状态的变化 变量的值:描述不同的状态 二.五大基本数据类型的分类 五大基本数据类型(数字 字符串 列表 元祖 字典) 按照可变不可变来进行分类 可变:列表.字典 不可变:字符 ...

  4. python调用c优缺点_Python调用C模块以及性能分析

    一.c,ctypes和python的数据类型的对应关系 ctypes type ctype Python type c_char char 1-character string c_wchar wch ...

  5. 数据清洗的基本流程_数据分析小白学习之路(三)——Excel多练熟能生巧

    谈到数据分析,我们可能第一时间想到python.SQL.Tableau.帆软.R等,但是这些软件.语言要入门掌握.系统学习起来耗时较长.这时候不得不提到excel这个"平平无奇数分小能手&q ...

  6. excel取整函数_数据分析小白学习之路(三)——Excel多练熟能生巧

    谈到数据分析,我们可能第一时间想到python.SQL.Tableau.帆软.R等,但是这些软件.语言要入门掌握.系统学习起来耗时较长.这时候不得不提到excel这个"平平无奇数分小能手&q ...

  7. C/C++学习之路_九:文件操作

    C/C++学习之路_九:文件操作 目录 概述 文件的顺序读写 文件的随机读写 windows和linux文本 获取文件状态 删除文件.重命名文件 文件缓冲区 1. 概述 1. 磁盘文件和设备文件 磁盘 ...

  8. python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析

    #2018-04-05 16:57:26 April Thursday the 14 week, the 095 day SZ SSMR python数据挖掘学习笔记]十九.鸢尾花数据集可视化.线性回 ...

  9. Python学习笔记(十九)面向对象 - 继承

    Python学习笔记(十九)面向对象 - 继承 一.继承的概念 # 继承:子类继承父类的所有方法和属性# 1. 子类 class A(object):def __init__(self):self.n ...

最新文章

  1. [转载] 英语科技论文写作——Difference between APAMLA
  2. 一般判五年几年能出来_判刑五年能减刑多少年
  3. 200 switching to ascii mode_2020年12月英语四级阅读200篇第106篇:白云之乡—新西兰_四级...
  4. 如何汉化 OpenERP 6.1 日历视图
  5. 图灵奖得主Sivio Micali的Algorand区块链协议简介
  6. mysql @符号_MySQL 数值类型
  7. 程序员:工作3年了,为啥越来越不值钱……
  8. python input 与raw_input函数的区别
  9. HDinsight 系列-使用证书登陆中国区Azure
  10. 【数据科学】什么是数据科学?
  11. for 循环中实现多个点击事件
  12. 关于WPF绘图中的path.data在后台重新赋值的语法
  13. mysql 小辉_小辉-MySQL数据库教程 完整高清版40集全!(主流)
  14. FPGA之道(11)FPGA芯片的供电系统
  15. 牛客网 - 小乐乐打游戏(BFS)
  16. 前端可视化项目全国疫情地图
  17. 计算点到直线/线段的距离
  18. 蓝桥杯单片机——中断系统(7)
  19. 马晓东出席高交会数字论坛 助力企业成功数字化转型
  20. 只有5行的算法——Floyd算法

热门文章

  1. 腾讯Q2财报:腾讯云数据库收入同比增长超过30%
  2. 最近写的一个开源软件——PocketSMS
  3. 【Unity3D】button组件无法使用onclick与image组件无法改变属性(如fillAmount等)的解决办法
  4. 计算机耗材发放管理,医用耗材条码管理,让耗材管理更轻松
  5. 宇称不守恒与暗物质/暗能量
  6. 关于RouterOS 6.X使用3322域名的脚本
  7. 【功能安全(ISO 26262)系列】番外篇 第一话 戏说汽车安全是个什么鬼
  8. 【洛谷P4997】不围棋【并查集】【模拟】
  9. 初学者随记03:uniapp中使用阿里云小图标
  10. ps2模拟器bios3dm_呆萌ps2模拟器bios文件