Python: 如何写入文件并下载文件?
Python: 如何写入文件并下载文件?
我有一个基于Flask的Web服务,我正在尝试将结果下载到用户的桌面上(通过https)。
我尝试过以下代码:
def write_results_to_file(results): with open('output', 'w') as f: f.write('\t'.join(results[1:]) + '\n')
当我点击界面上的导出按钮时,会触发这个方法。
但是我得到了以下错误:
: [Errno 13] Permission denied: 'output' args = (13, 'Permission denied') errno = 13 filename = 'output' message = '' strerror = 'Permission denied'
有人能告诉我我在这里做错了什么吗?
问题原因:用户不清楚自己的代码中存在的问题,不确定自己的服务器实际在做什么。
解决方法:根据给出的代码,提供一个更接近需求的代码示例。示例代码中,首先创建一个名为get_results的函数,该函数会将结果以TSV格式返回。然后,通过Response对象设置返回的内容类型为"text/tab-separated-values",并设置响应头中的"Content-disposition"为"attachment; filename=results.tsv",以便在下载时将文件保存为results.tsv。