You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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表示写入模式(文件不存在会自动创建,已存在则覆盖)。
  • 遍历坐标点列表,将每个点的数值用空格分隔,加上换行符写入文件。

使用方法

  1. 将你的inputFile.txt和这个脚本放在同一个文件夹中。
  2. 运行脚本(命令行输入python 脚本文件名.py,或用Python编辑器直接运行)。
  3. 文件夹内会自动生成符合要求的outputFile.txt。

内容的提问来源于stack exchange,提问作者OlM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 23:27:27