Python自动化办公学习(二)

上节课我们对Python的自动化办公进行了入门导学课,这节课主要讲解了txt文件的筛选与读写,首先是相对路径跟绝对路径。

绝对路径就是文件或文件夹在硬盘上的完整路径。永远都是根目录开头,具体的文件或文件夹名称做结尾。

相对是指相对于当前目录的位置。 相对路径使用两个特殊符号,点.和双点..,点.表示当前的目录,双点..表示当前目录的上一级目录。

我们用一个图片来了解一下:

知道【工作文件夹】的路径后,就可以获取它里面的所有文件和文件夹的名称了。我们需要使用os模块中的方法os.listdir(),os模块是Python内置标准库中的一个模块,os是操作系统 operating system 的缩写,该模块提供了一些和系统相关的功能,比如说获取文件名列表、获取路径等等。方法os.listdir()会以列表形式获取目标文件夹里的所有文件和文件夹名。os.listdir()需要传入参数path,这里的path就是目标文件夹的位置,即目标文件夹的路径。

接下来是我们对文件的操作,这里问大家一个脑筋急转弯,问题是把大象放进冰箱需要几步,很多读者都知道答案,这里就不卖关子了,需要三步,分别是打开冰箱、把大象放进去、关闭冰箱。同理,我们文件的操作就如同这个答案一样。使用Python来读取txt文件的内容也分为三步:“打开 - 读取 - 关闭”。

我们打开文件用open()函数来打开一个文件。直接来看语法:

file = open(file_path, mode, encoding='utf-8')
# file: 将文件打开后获得的文件对象用file代表
# file_path: 打开的文件路径
# mode: 打开文件的模式(r、a、w)
# encoding: 用什么编码方式打开,课程的所有文件都是以utf-8编码

当中的mode是文件的打开方式,有r/w/a/r+/w+/a+几种模式,具体用法如下:

扫描二维码关注公众号,回复: 12394223 查看本文章

打开完文件后我们获得了一个文件对象file。我们对打开文件获得的文件对象file进行后续操作。读取文件的语法是:

content = file.read()  # 将读取到的文件储存在content变量中

写入文件的语法是:file.write('要写入的文件内容')

关闭文件的语法是:file.close()

打开文件后一定要养成关闭的好习惯,否则会一直占用电脑内存的资源。

休息两分钟,喝一口水,我们还有最后一部分要学习。

假设我想在一个文件夹下面的所有文件中查找包含关键词的文件,应该如何操作呢?

首先,使用input()来获取我们想要查找的关键词。

其次,借助if条件判断和成员运算符in来判断关键词是否在txt文件的内容里。

最后,使用函数print()和字符串的格式化输出来打印提示语。当然,这一步你完全可以省略,写提示语的目的是为了增强代码的显示效果和可读性。

这里只给你提供一个思路,需要你自己去尝试写一下代码。这里我将课件中使用的代码码到这里,供大家参考:

# 目标文件是工作文件夹内的 06_01_2020会议记录.txt 文本文件
target_file = './工作文件夹/06_01_2020会议记录.txt'
# 使用 open() 函数打开 06_01_2020会议记录.txt 文本文件
file = open(target_file, 'r', encoding='utf-8')
# 使用 文件对象.read() 方法读取文件内容
content = file.read()
# 关闭文件对象
file.close()
# 设置需要查找的关键词
key_word = input("请输入要查找的关键词:")
# 判断关键词是否在文件内容中
if key_word in content:
    # 匹配到关键词时先打印提示
    print("妙啊,文件**{}**包含了关键词:{}".format(target_file, key_word))

文件读取有三个步骤:打开 — 读取 — 关闭。与之类似,文件写入也有三个步骤:打开 — 写入 — 关闭。

我们可以使用文件对象的write()方法,括号里的值是我们要写入的文件内容(字符串类型)。

还记得刚才学过的open()函数吗?要想将内容写入文件,参数mode可不能使用'r'了。可以将mode设置为'w''a',二者的区别见下图。

总结一下,判断关键词并写入功能块的内容:

1.文件写入需要使用文件对象.write(),该方法可以将字符串写入文件对象。

2.open()函数的参数mode应该传入'w''a'。'w'是从头开始写,会删除掉文档内原有的内容;'a'是在结尾处写入,不会删除文档原有的内容。如果文件不存在,'w'和'a'都会创建新的文件。

今天学习了这么多,是不是有点吃不消了,没关系,跟着下面这个思维导图把内容再理一遍吧。我们下节课再见。

内容部分及图片来源风变编程自动化办公章节,若希望详细学习,可搜索风变编程官网了解更多内容。若涉及侵权,请联系博主删除。

猜你喜欢

转载自blog.csdn.net/zcl122009/article/details/112620938