python批量收集log文件中的偶极矩信息
时间: 2023-05-24 09:05:10 浏览: 117
以下是利用Python批量收集log文件中的偶极矩信息的示例代码:
```python
import os
import re
# 定义log文件路径
log_path = "log_files/"
# 定义偶极矩结果文件路径
dipoles_path = "dipoles.txt"
# 定义正则表达式
dipole_pattern = r"Dipole moment \(field-independent basis, Debye\):\s+([0-9\-\.]+)\s+([0-9\-\.]+)\s+([0-9\-\.]+)"
# 处理每个log文件
with open(dipoles_path, "w") as f_out:
for filename in os.listdir(log_path):
if not filename.endswith(".log"):
continue
# 打开log文件
with open(log_path + filename, "r") as f_in:
# 读取文件内容
content = f_in.read()
# 查找偶极矩
match = re.search(dipole_pattern, content)
# 如果找到了偶极矩,则写入结果文件
if match:
dipole_x = float(match.group(1))
dipole_y = float(match.group(2))
dipole_z = float(match.group(3))
f_out.write(f"{filename}\t{dipole_x}\t{dipole_y}\t{dipole_z}\n")
```
上面的代码首先定义了log文件路径和偶极矩结果文件路径。然后利用正则表达式查找每个log文件中的偶极矩信息,并将结果写入到偶极矩结果文件中。最后,可以在偶极矩结果文件中查看每个log文件中的偶极矩信息。
阅读全文