一、打开文件
使用open()
函数打开文件后,可以获得一个文件对象。
当mode='r'
,以只读方式打开文件,默认模式。
当mode='w'
,即写模式时,open()函数会打开一个文件只用于写入,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被清空。如果该文件不存在,创建新文件。
当mode='a'
,即追加模式时,open()函数会打开文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
# 打开目标txt文件
target_file = './txt文件筛选与读写素材/Python项目1—猜大小.txt'
file = open(target_file, 'r', encoding='utf-8')
# 使用文件对象.read()方法读取文件内容
content = file.read()
print(content)
file.close() #关闭文件
二、判断文件中是否有关键词
# 打开目标txt文件
target_file = './txt文件筛选与读写素材/Python项目1—猜大小.txt'
file = open(target_file, 'r', encoding='utf-8')
# 使用文件对象.read()方法读取文件内容
content = file.read()
# 判断文件中是否有关键词
key_word = input('请输入你要查找的关键词:')
if key_word in content:
print(f'找到了,文件“{target_file}”中存在关键词“{key_word}”')
file.close() #关闭文件
三、获得文件夹内所有文件名
import os
# 设置目标文件夹路径
path = './txt文件筛选与读写素材/'
# 获取文件夹下的所有文件名
files_list = os.listdir(path)
print(files_list)
四、筛选出所有txt文件
import os
# 设置目标文件夹路径
path = './txt文件筛选与读写素材/'
# 获取文件夹下的所有文件名
files_list = os.listdir(path)
# 筛选出所有txt文件
for file_name in files_list:
if '.txt' in file_name:
print('文件名:',file_name)
file_path = path + file_name # 拼接出文件的相对路径
print('文件路径:',file_path)
五、从全部文件中查找关键词
import os
# 从txt文件中查找是否存在关键词
def findKeyWord(target_file,key_word):
# 打开目标txt文件
file = open(target_file, 'r', encoding='utf-8')
# 使用文件对象.read()方法读取文件内容
content = file.read()
# 判断文件中是否有关键词
if key_word in content:
print(f'找到了,文件“{target_file}”中存在关键词“{key_word}”')
file.close() #关闭文件
def main():
# 设置目标文件夹路径
path = './txt文件筛选与读写素材/'
# 获取文件夹下的所有文件名
files_list = os.listdir(path)
key_word = input('请输入你要查找的关键词:')
# 筛选出所有txt文件
for file_name in files_list:
if '.txt' in file_name:
file_path = path + file_name # 拼接出文件的相对路径
findKeyWord(file_path,key_word)
main()
六、txt文件写入
import os
# 从txt文件中查找是否存在关键词
def findKeyWord(target_file,key_word):
# 打开目标txt文件
file = open(target_file, 'r', encoding='utf-8')
# 使用文件对象.read()方法读取文件内容
content = file.read()
# 判断文件中是否有关键词
if key_word in content:
print(f'找到了,文件“{target_file}”中存在关键词“{key_word}”')
file.close() #关闭文件
def main():
# 设置目标文件夹路径
path = './txt文件筛选与读写素材/'
# 获取文件夹下的所有文件名
files_list = os.listdir(path)
# 存放查询结果,以追加模式打开,这样每次写入就添加在最后,不会将原内容清空
result_file = open('./result.txt','a',encoding = 'utf-8')
key_word = input('请输入你要查找的关键词:')
# 筛选出所有txt文件
for file_name in files_list:
if '.txt' in file_name:
file_path = path + file_name # 拼接出文件的相对路径
findKeyWord(file_path,key_word)
result_file.write(file_path + '\n') # 将结果写入文件
result_file.close() #关闭文件
main()