Python新手求助:编写脚本读取文件并生成指定格式输出
Python新手入门:读取参数文件并生成计算结果文件
下面是满足你需求的完整脚本,之后会逐部分解释每个步骤的作用:
# 初始化字典存储参数 params = {} # 读取inputFile.txt并解析参数 with open('inputFile.txt', 'r') as input_file: for line in input_file: stripped_line = line.strip() # 跳过空行和注释行 if not stripped_line or stripped_line.startswith('//'): continue # 拆分键值对,移除末尾分号 key, value = stripped_line.split(';')[0].split() params[key] = int(value) # 根据规则计算所有坐标点 points = [ (params['X0'], params['Y0'], params['Z0']), (params['X0'] + params['Ld'] - params['Ls1'] - params['Ls2'], params['Y0'], params['Z0']), (params['X0'] + params['Ld'] - params['Ls2'], params['Y0'], params['Z0'] + params['Hs1']), (params['X0'] + params['Ld'], params['Y0'], params['Z0'] + params['Hs1'] + params['Hs2']), (params['X0'] + params['Ld'], params['Y0'], params['Z0'] + params['Hd']), (params['X0'], params['Y0'], params['Z0'] + params['Hd']) ] # 写入结果到outputFile.txt with open('outputFile.txt', 'w') as output_file: for point in points: output_file.write(f"{point[0]} {point[1]} {point[2]}\n")
逐步骤解释
1. 读取并解析参数文件
with open('inputFile.txt', 'r') as input_file::用with语句打开文件,会自动处理文件关闭,避免新手忘记关闭文件的问题。- 逐行处理内容:跳过空行和以
//开头的注释行,只提取有效参数。 - 拆分键值对:移除每行末尾的分号,按空格分割参数名和数值,将数值转为整数后存入字典
params,方便后续调用。
2. 计算坐标点
- 严格按照你给出的计算规则,用字典里的参数计算每个点的X、Y、Z值,将所有点存入列表
points,每个元素是包含三个整数的元组。
3. 写入输出文件
with open('outputFile.txt', 'w') as output_file::打开输出文件,w表示写入模式(文件不存在会自动创建,已存在则覆盖)。- 遍历坐标点列表,将每个点的数值用空格分隔,加上换行符写入文件。
使用方法
- 将你的
inputFile.txt和这个脚本放在同一个文件夹中。 - 运行脚本(命令行输入
python 脚本文件名.py,或用Python编辑器直接运行)。 - 文件夹内会自动生成符合要求的
outputFile.txt。
内容的提问来源于stack exchange,提问作者OlM
相关产品推荐
相关产品推荐

