Python: 如何写入文件并下载文件?

13 浏览
0 Comments

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' 

有人能告诉我我在这里做错了什么吗?

0
0 Comments

问题原因:用户不清楚自己的代码中存在的问题,不确定自己的服务器实际在做什么。

解决方法:根据给出的代码,提供一个更接近需求的代码示例。示例代码中,首先创建一个名为get_results的函数,该函数会将结果以TSV格式返回。然后,通过Response对象设置返回的内容类型为"text/tab-separated-values",并设置响应头中的"Content-disposition"为"attachment; filename=results.tsv",以便在下载时将文件保存为results.tsv。

参考链接:Flask: Download a csv file on clicking a button

0