Python自动化办公自学笔记(八)文件操作

一、文件使用

在Python里面,文件分为两种类型,一种是文本文件,后缀名为“.txt”,由单一特定编码的字符组成;另一种是二进制文件,由比特0和比特1组成。Python对以上两种文件都有统一的操作步骤,即“打开-操作-关闭”。

(一)文件的打开和关闭

通过内置函数open(),可以打开或者创建文件。但这里要注意的是文件的安装路径


在安装路径中右键创建文件“c.txt”文件,再选择文件的路径进行复制,这里需要注意的是复制过来的路径是以单个“\”相连接,在Python中,“\”是转义字符,所以要改成“\\”,不然容易报错。

打开.TXT文件,编辑内容,然后通过PyCharm对文件进行读取



(二)文件的打开模式

f=open('C:\\Users\\Administrator\\PycharmProjects\\pythonProject2\\c.txt','r',encoding="utf-8")

这段代码中的‘r’就是文件的打开模式,这是只读模式,如果文件不存在,返回异常FileNotFoundFrror,默认值;其他模式还有“w”,文件的覆盖写模式,如果文件存在就写入并覆盖原文件,不存在就创建;“x”:创建写模式,文件不存在则创建,存在则返回FileExistsError;“a”追加写模式,文件不存在则创建,存在则在原文件后面追加内容;“b”二进制文件模式;“t”文本文件模式,默认值;“+”:与前面几种模式一起使用,在原功能基础上增加同时读写功能。例如:

f=open('C:\\Users\\Administrator\\PycharmProjects\\pythonProject2\\e.txt','wt',encoding="utf-8")
f.write("文件的写入")
f.close()

(三)文件的读写

这里涉及到一个相对路径和绝对路径的问题,绝对路径就之前的例子的使用的路径,例如:'C:\\Users\\Administrator\\PycharmProjects\\pythonProject2\\e.txt;而相对路径只有文件名,例如f=open('e.txt','wt',encoding="utf-8"),是指文件相对于当前项目的位置。

1、f.read(size=-1)从文件中读入整个内容,参数是可选的,如果给出参数,则读取size长度的字节;




2、f.readline(size=-1)从文件中读取一行内容,参数也是可选的,如果给出参数,则读取size长度的字符串;




3、f.readlines(hint=-1)从文件中读取所有行,然后以每行为元素形成一个列表,参数也是可选的,如果给出参数,则读取hint行;

4、f.seek(offset)文件的读取会记录上一次读取到哪一行(鼠标光标也在那个位置),下次再读取时会从光标位置继续往下读取。f.seek(offset)会改变光标的位置,offset的值:0:文件的开头;2:文件的结尾

相关文章

Python 实现从文本文件提取数据并分析保存

一、引言在日常的数据处理工作中,我们经常会遇到从文本文件中提取特定信息并进行分析的需求。本文将详细介绍如何使用 Python 编写代码,从一个包含用户网络使用信息的文本文件中提取用户姓名、入站流量和出...

Python处理文本的25个经典操作

Python处理文本的优势主要体现在其简洁性、功能强大和灵活性。具体来说,Python提供了丰富的库和工具,使得对文件的读写、处理变得轻而易举。简洁的文件操作接口Python通过内置的open()函数...

Python:读取文本返回关键词及其权重

使用 jieba.analyse 库 函数 extract_tags( )从文本 data 中提取关键词,并返回关键词及其权重。参数:data:待分析的文本(字符串)。topK=10:提取权重最高的前...

Python读写docx文件

Python读写docx文件Python读写word文档有现成的库可以处理pip install python-docx安装一下。https://python-docx.readthedocs.io/...

Python读写文本数据

问题你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8或UTF-16编码等。解决方案使用带有 rt 模式的 open()函数读取文本文件。如下所示:# Read the entire fi...

Python如何读取PDF中的文字和图片,请移步至此!

从PDF中提取内容能帮助我们获取文件中的信息,以便进行进一步的分析和处理。此外,在遇到类似项目时,提取出来的文本或图片也能再次利用。要在Python中通过代码提取PDF文件中的文本和图片,可以使用 S...