jj1106

说明:有段时间需要读取上百个文件的单点能(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 + "计算结果有误" + "\n") for sp in ret: fwrite.write(filename + sp + "\n") 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)

  

分类:

技术点:

相关文章:

  • 2021-09-25
  • 2021-11-25
  • 2021-10-18
  • 2021-09-07
  • 2021-11-02
  • 2021-08-20
  • 2019-10-28
猜你喜欢
  • 2021-12-09
  • 2021-11-17
  • 2021-12-04
  • 2021-10-05
  • 2021-11-07
  • 2021-12-28
  • 2021-10-16
相关资源
相似解决方案