利用python代码获取文件特定的内容,并保存为文档

说明:有段时间需要读取上百个文件的单点能(sp),就写了下面的代码(计算化学狗努力转行中^-^)

import os.path
import re


# 1 遍历指定目录,显示目录下的所有文件名
def each_file(file_path):
    path_dir = os.listdir(file_path)
  # 将得到列表内的文件排序(因为自己要读取的文件类型是1.out,2.out,3.out......这样的,所以可以切片排序) path_dir.sort(key = lambda x: x.split('.'[0])) for one_dir in path_dir: print(one_dir) one_dir_path = os.path.join('%s/%s' % (file_path, one_dir)) if os.path.isfile(one_dir_path): read_file(one_dir_path) continue each_file(one_dir_path) # 2 匹配出所需的内容,并写入指定文档 def read_file(filename): fopen = open(filename, 'r') fwrite = open("sp.txt", 'a') file_read = fopen.read() ret = re.findall(r"\(HF=.+?)\", file_read) if not ret: fwrite.write(filename + "计算结果有误" + " ") for sp in ret: fwrite.write(filename + sp + " ") fwrite.close() fopen.close() if __name__ == "__main__": # 清除sp.txt内存在的内容 if os.path.exists('/home/python/Desktop/rw/sp.txt'): # 此路径为存放此段代码的目录 fwrite = open("sp.txt", 'w') fwrite.truncate() filenames = input("请输入文件的绝对路径:") each_file(filenames)

  

原文地址:https://www.cnblogs.com/jj1106/p/11005502.html