def modify_lines_in_file(file_path, start_line, end_line, replacement_lines):
"""
修改文件中的指定范围的行数内容并替换源文件
:param file_path: 源文件路径
:param start_line: 开始行(从1开始计数)
:param end_line: 结束行(从1开始计数,包含此行)
:param replacement_lines: 替换的行内容列表,长度应与要替换的行数一致
"""
# 读取源文件内容
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
# 检查替换范围是否有效
if start_line < 1 or end_line > len(lines) or start_line > end_line:
raise ValueError("Invalid line range specified")
# 替换指定范围的行数内容
lines[start_line - 1:end_line] = replacement_lines
# 将修改后的内容写回源文件
with open(file_path, 'w', encoding='utf-8') as file:
file.writelines(lines)
E1=111
E2=222
E3=333
T2=444
C2=555
T3=666
C3=777
G12=888
G23=999
G31=000
file_path = 'aaa.inp'#模型文件路径名称
start_line = 1015075#目标起始行
end_line = 1015078#目标结束行
replacement_lines = [
str(E1)+","+str(E2)+","+str(E3)+", 0.27, 0.27, 0.27, 3800., 3800.\n"
"3000., 0., 0., 0., 0., 0., 0., 0.\n"
"2470., 1062.,"+str(T2)+","+str(C2)+","+str(T3)+","+str(C3)+", 0., 0.\n"
""+str(G12)+","+str(G23)+","+str(G31)+"\n"
]
modify_lines_in_file(file_path, start_line, end_line, replacement_lines)
在 Isight 中通常不直接调用 .py,而是通过 .bat:
python replace.py