一、获取所有文件名称
os.listdir() 以列表形式获取文件夹名和文件名,()中参数为文件、文件夹路径,须为英文小写。
例:
import os
path='/home/python-class/lesson1-2/work/参考资料'#获取文件路径,赋值给变量path
filenames=os.listdir(path) #将参考资料某文件夹中,所有文件夹名和文件名获取到
print(filenames)
#第2,3行或合并写为:
filenames=os.listdir('/home/python-class/lesson1-2/work/参考资料')
功能实现:筛选出包含.txt的文件,并将文件中包含’key_word’关键词的文件找出来写入指定文件中。
import os
# 设置文件夹路径,获取文件夹下的所有文件名
path = './工作文件夹/'
files_list = os.listdir(path)
# 设置需要查找的关键词
key_word = input("请输入要查找的关键词:")
# 打开结果文件
result_file = open('./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