龙空技术网

业务人员学Python系列(11):文件操作

赛先生助手 105

前言:

当前我们对“python 文件 操作”大约比较关心,咱们都想要学习一些“python 文件 操作”的相关资讯。那么小编在网上收集了一些对于“python 文件 操作””的相关知识,希望朋友们能喜欢,咱们快快来了解一下吧!

久等了,各位。最近啊,老家父母和邻居有些纠纷,回去处理了一下。这种邻里纠纷啊在中国挺多的,如何处理其实古人早有经典案例,这就是发生在安徽桐城的“六尺巷”的故事。说是在清代康熙年间,大学士张英老家桐城的府邸与吴姓相邻。吴姓盖房欲占张家隙地,双方发生纠纷,告到县衙。因两家都是高官望族,县官欲偏袒相府,但又难以定夺,连称凭相爷作主。相府家人遂驰书京都,张英阅罢,立即批诗寄回,诗曰:“千里家书只为墙,让他三尺又何妨。万里长城今犹在,不见当年秦始皇。”家人得诗,旋即拆让三尺,吴姓深为感动,也连让出三尺。于是,便形成了一条六尺宽的巷道。礼让,舍得都是大智慧,尤其是“万里长城今犹在,不见当年秦始皇”。多么深刻啊,有机会一定去参观一下这个“六尺巷”。

好了,咱们回到正题,今天讲一下python如何操作文件。文件操作对于业务人员来说是一个经常遇到的问题。比如:excel处理,批量改名,批量修改内容,文件归类,照片信息提取,对文件进行统一处理等等。一般来说,这些工作都是琐碎繁冗,费心劳神又枯燥无味。一般你遇到这种情形,就要下意识地问问自己Python可以搞定吗?回答是肯定一定以及确定的,并且非常简单迅速。话说,我前面宰了朋友那顿烧烤,其实也是有关文件处理。

计算机中,咱们常见的文件分为两种: 文本文件: 普通的字符文件,如txt文件,csv文件,可以使用记事本打开 二进制文件 用字节进行存储,无法用记事本打开,如视频文件,图片文件,音频文件等

对于文件操作,一般来说和把大象关进冰箱一样,分为三步:

打开文件;

处理文件;

关闭文件。

1.打开文件的语法

open('filename', mode)

# mode(r, a, w, x, t,b) mode是打开的模式,读还是写还是追加 主要模式包括:

"r" - 读- 这也是读文件的默认方式. 文件不存在将返回错误信息

"a" - 追加 - 打开文件追加信息,如果文件不存在则创建文件

"w" - 写 - 打开文件写入信息,如果文件不存在则创建文件

"+"-:以更新(读写)模式打开文件,必须与r、w或a组合使用,才能设置文件为读写模式。

"x" - 新建文件- 如果文件不存在,则创建并以写入模式打开;如果文件已存在,则引发错误。

"t" - 文本文件- 默认打开方式,文本模式

"b" - 二进制文件- 二进制模式

2.关闭文件的语法

这个比较简单,直接调用方法close()即可。

来个简单地练习试一下:

#若不存在将在当前目录新建mrsai.txt这个文件f=open("mrsai.txt","w")#关闭f.close()
3.文件处理-写文件

使用方法write()

file=open("lcx.txt","w")file.write('''千里家书只为墙,让他三尺又何妨。万里长城今犹在,不见当年秦始皇。''')#关闭file.close() #不要忘记关闭文件

一定记住最后要关闭文件。

4.文件处理-读文件

read(n) read(n):n表示从文件中读取的长度,单位字节,如果没有传n,将会读取文件的所有内容。

读取刚才生成的文件:

file=open("lcx.txt","r")print(file.read())#关闭file.close() #不要忘记关闭文件#输出千里家书只为墙,让他三尺又何妨。万里长城今犹在,不见当年秦始皇。

readline(): 仅读取第一行数据

file = open('lcx.txt')line = file.readline()print(line)file.close() #不要忘记关闭文件

readlines(): 读取所有行,返回一个列表类型

file = open('lcx.txt')lines = file.readlines()print(type(lines)) print(lines)file.close() #不要忘记关闭文件#输出结果<class 'list'>['千里家书只为墙,\n', '让他三尺又何妨。\n', '万里长城今犹在,\n', '不见当年秦始皇。']

前面,我不断提醒你,处理完文件要关闭它,有没有更好的办法不用总惦记这事儿啊。当然有,你以后可以用如下模式操作文件,这样Python就会在处理完文件后自动关闭。

这是Python的一个上下文管理器,就是帮助你管理一些杂七杂八的事情。语法也很简单:

with open() as file:

把处理文件的部分作为子块即可。

with open('lcx.txt') as file:    lines = file.readlines()    print(lines)  with open('test.txt','w') as f:    f.write('写文件也用上下文管理器语法')

希望你以后,尽可能使用这种方式来操作文件。为了加深记忆,我们也编一句口诀:

with 加 open as 文件柄

把它放在前面介绍的口诀中,咱们Python基础部分的口诀就完整了。

================

领导后冒号

结构要分清

循环有for-in

while condition

衣服-爱衣服-啊(if-elif-else)

def 函数名

with 加 open

as 文件柄

================

对文件的读写是非常基本的操作,希望你掌握。还有两个操作也比较常用,这里也介绍一下。这个两个操作需要引入OS模块。

5.文件处理-重命名

import os#将lcx.txt重名为六尺巷.txtos.rename("lcx.txt","六尺巷.txt")
6.文件处理-删除
import os#将文件:六尺巷.txt删除os.remove("六尺巷.txt")

对于一些特定格式的文件,如PDF,EXCEL,WORD,PPT等,Python都有专门的第三方库来解决,你只需要做调包侠即可。如果感兴趣,咱们后面也可以单独介绍。

好了,今天就到这里吧。应该说如果掌握了今天和前面讲的内容,用Python来解决一些常见问题就基本够用了。

标签: #python 文件 操作 #python中with open as的用法