如何读取dwarf_fort.txt执行脚本并将输出追加到新文件?
从文件读取内容并将程序输出追加到新文件的缺失实现步骤
你当前的代码仅完成了基础的文件读取循环,但要实现读取文件内容→执行程序→将输出追加到新文件的完整流程,还缺少以下关键步骤:
传递读取到的内容给执行函数
你的代码里循环获取了minerals变量,但没有将它传入mining_rig()函数,导致函数无法基于读取到的文件内容执行逻辑。需要修改调用为:mining_rig(minerals.strip()) # strip()用于去除每行末尾的换行符及空白同时要确保
mining_rig函数定义中接收这个参数并做对应处理。捕获执行函数的输出结果
要把程序输出写入文件,首先需要获取mining_rig()的返回值或输出内容。如果该函数是通过print输出内容,需要重定向输出或者修改函数使其返回结果;如果是返回值,直接接收即可:result = mining_rig(minerals.strip())打开并写入输出文件
需要以追加模式('a')打开目标输出文件,将捕获到的结果写入。可以嵌套在原有的with语句中,保证文件安全关闭:with open('dwarf_fort.txt') as f, open('mining_output.txt', 'a') as out_f: for minerals in f: result = mining_rig(minerals.strip()) out_f.write(f"{result}\n") # 按需添加换行符分隔结果异常处理(可选但推荐)
添加IO异常捕获,处理文件不存在、权限不足等意外情况:try: with open('dwarf_fort.txt') as f, open('mining_output.txt', 'a') as out_f: for minerals in f: result = mining_rig(minerals.strip()) out_f.write(f"{result}\n") except FileNotFoundError: print("读取的文件不存在,请检查路径") except PermissionError: print("没有文件读写权限")
内容的提问来源于stack exchange,提问作者veryconfused
相关产品推荐
相关产品推荐

