美文网首页
查找文件&打开文件

查找文件&打开文件

作者: 若晴y | 来源:发表于2021-04-12 15:42 被阅读0次

import os

设置文件夹路径,获取文件夹下的所有文件名

path = './工作文件夹/'
files_list = os.listdir(path)

设置需要查找的关键词

key_word = input("请输入要查找的关键词:")

打开结果文件

result_file = open('./demo_result.txt', 'a', encoding='utf-8')

循环处理每一个文件

for file_name in files_list:
# 判断文件类型是否在文件名中
if '.txt' in file_name:
# 找到文件时先打印提示
print("找到了文件:" + file_name)

    # 将文件夹路径和文件名拼接成该文件的相对路径
    target_file = path + file_name

    # 打开文件,读取文件内容,然后关闭文件
    file = open(target_file, 'r', encoding='utf-8')
    content = file.read()
    file.close()

    # 判断关键词是否在文件内容中
    if key_word in content:
        # 匹配到关键词时先打印提示
        print("妙啊,文件**{}**包含了关键词:{}".format(target_file, key_word))

        # 将包含关键词的文档的文件路径,写入结果文件。
        result_file.write(target_file + '\n')

关闭结果文件

result_file.close()

绝对路径与相对路径
要想打开文件,首先要知道文件的位置。众所周知,文件是通过文件路径定位的,在Python中,路径可以用字符串来表示。
而路径又分为绝对路径和相对路径。
绝对路径就是文件或文件夹在硬盘上的完整路径。永远都是根目录开头,具体的文件或文件夹名称做结尾。
在Windows系统中,绝对路径的开头永远是磁盘的名称,比如C:或者D:。而在Mac系统中,绝对路径会使用/作为开头。

举例说明一下:
Windows系统中,C盘根目录中有个名为【codes】的文件夹,该文件夹内有【工作文件夹】和【oa_01.py】,【工作文件夹】中有txt文件【05_20_2020会议记录.txt】。
用绝对路径表示这几个文件夹和文件:

'工作文件夹'的绝对路径。

'C:/codes/工作文件夹'

文件'oa_01.py'的绝对路径

'C:/codes/oa_01.py'

文件'05_20_2020会议记录.txt'的绝对路径

'C:/codes/工作文件夹/05_20_2020会议记录.txt'

绝对路径理解起来比较容易,但今天我们代码中需要用到路径的另一种形式——相对路径。
相对是指相对于当前目录的位置。 相对路径使用两个特殊符号,点.和双点..,点.表示当前的目录,双点..表示当前目录的上一级目录。
继续使用刚才的例子,如果我们打开【oa_01.py】文件,那当前目录就是【codes文件夹】。
【工作文件夹】与【oa_01.py】都在【codes文件夹】中,所以【工作文件夹】和【codes文件夹】的相对路径就可以表示为:

'工作文件夹'的相对路径

'./工作文件夹/'

'codes'的相对路径

'./'
【05_20_2020会议记录.txt】在【工作文件夹】中,所以该txt文件的相对路径为:

文件'05_20_2020会议记录.txt'的相对路径。

'./工作文件夹/05_20_2020会议记录.txt'

值得注意的是,文件夹的路径是以/结尾的,文件的路径是以具体的文件类型后缀作为结尾的。
os模块是Python内置标准库中的一个模块,os是操作系统 operating system 的缩写,该模块提供了一些和系统相关的功能,比如说获取文件名列表、获取路径等等。
方法os.listdir()会以列表形式获取目标文件夹里的所有文件和文件夹名。os.listdir()需要传入参数path,这里的path就是目标文件夹的位置,即目标文件夹的路径。

file = open(target_file, 'r', encoding='utf-8')
如上所示,open()函数用于打开一个文件,创建一个 file 对象(即文件对象)。
这样,才能在后面调用文件对象的相关方法进行读写。

设置要打开的txt文本文件的路径

target_file = './工作文件夹/05_20_2020会议记录.txt'

打开目标txt文本文件

file=open(target_file,'r',encoding='utf-8')

使用 文件对象.read() 方法读取文件内容

content=file.read()

打印txt文本文件的内容

print(content)

关闭文件对象

file.close()

读取文件”的最后一步是,关闭文件对象。
写法是文件对象.close()。我希望你牢牢记住,每一个打开的文件对象,都应该被关闭。
如果文件对象没有被关闭,那么程序在执行的过程中就会一直占用系统资源。这就像冰箱门打开以后不关闭,就会增大耗电量;浏览器上不关掉未查看的网页,就会一直占用系统内存一样。

简单总结一下,文件读取有三个步骤:
步骤一:打开——open()函数。需要注意的有三个参数:file,mode,encoding。
1.参数file是要打开文件的路径。
2.参数mode可以参考下图:


image.png

3.参数encoding控制编码,为了与公司会议记录的编码格式保持一致,需要设置为'utf-8'。
步骤二:读取——文件对象的方法read()。
步骤三:关闭——文件对象的方法close()。

总结一下,判断关键词并写入功能块的内容:
1.文件写入需要使用文件对象.write(),该方法可以将字符串写入文件对象。
2.open()函数的参数mode应该传入'w'或'a'。'w'是从头开始写,会删除掉文档内原有的内容;'a'是在结尾处写入,不会删除文档原有的内容。如果文件不存在,'w'和'a'都会创建新的文件。

image.png

相关文章

  • 查找文件&打开文件

    import os 设置文件夹路径,获取文件夹下的所有文件名 path = './工作文件夹/'files_lis...

  • Alfred使用方法

    简单查找文件:用快捷键呼出Alfred,键入空格,输入你要查找文件名,即可定位文件,回车打开,command+回车...

  • VScode

    简写 效果 打开命令面板 查找文件 打开浏览器 打开配置 代码对齐

  • AndroidStudio 快捷键

    文件 Alt+7 文件的方法目录 Ctrl+Shift+N 可以查找文件,快速打开文件 Ctrl+E 最近打开的文...

  • find查找文件以及文件夹

    查找文件夹 查找文件 格式

  • 常用操作备忘

    mac 操作 splotlight 打开查找文件的目录 2020-11-22 spotlight 中输入查找的文件...

  • GitHub无法显示图片解决方案

    (1)打开文件 在访达中前往文件夹/etc/hosts。可以通过Shift+Command+G 查找文件位置,再...

  • UE C++操作外部文件整理

    用到的头文件: 文件夹 创建文件夹: 删除文件夹: 打开文件夹: 遍历文件夹: 文件操作 读取文件: 查找文件: ...

  • xcode 常用快捷键

    一、Shift + Command + O 弹出快速查找文件窗口 Shift +Commond + 0 是快速打开...

  • Linux命令之find

    根据名称查找文件 find 路径 -name "文件名或通配符" 根据编辑时间查找文件

网友评论

      本文标题:查找文件&打开文件

      本文链接:https://www.haomeiwen.com/subject/gozlkltx.html