如何将FastAPI接口的输出结果导出为指定格式的TXT文件
实现方法
方法1:接口直接返回可下载TXT文件(最简单,无需额外调用端处理)
直接修改接口代码即可,修改后完整代码如下:
import sys from clases.sequence import Sequence from clases.read_file import Read_file from fastapi import FastAPI, Response app = FastAPI() @app.get("/DNA_toolkit") def get_dna_result(input: str): DNA = Sequence(input) # 按需求构造TXT文本内容 content = f"""Length {DNA.length()} Reverse {DNA.reverse()} complement {DNA.complement()} Reverse and complement {DNA.reverse_and_complement()}""" # 设置响应头,触发文件下载,文件名可自定义 headers = {"Content-Disposition": "attachment; filename=dna_result.txt"} return Response(content=content, media_type="text/plain", headers=headers)
修改后访问接口就会自动下载符合格式要求的TXT文件。
方法2:保留原有JSON接口,调用端生成TXT
如果你需要保留原有JSON返回格式,也可以在调用接口的脚本侧处理生成TXT,Python调用示例如下:
import requests # 调用接口,替换为你的实际接口地址和DNA序列参数 resp = requests.get("http://127.0.0.1:8000/DNA_toolkit?input=你的DNA序列") data = resp.json() # 写入TXT文件 with open("dna_result.txt", "w", encoding="utf-8") as f: f.write(f"Length {data['Length']}\n") f.write(f"Reverse {data['Reverse']}\n") f.write(f"complement {data['complement']}\n") f.write(f"Reverse and complement {data['Reverse and complement']}\n")
内容的提问来源于stack exchange,提问作者Manolo Dominguez Becerra
相关产品推荐
相关产品推荐

