【问题标题】:Making Python to Download A File Using Browser's Dialog Box (With Prompt)使用浏览器的对话框(带提示)使 Python 下载文件
【发布时间】:2019-03-12 18:21:45
【问题描述】:

我正在使用 python 导出一个 CSV 文件。默认情况下,python 会自动将文件下载到给定的路径(如果没有初始化路径,则为桌面)。但我想要的是它使用我正在工作并请求下载文件的浏览器,即它提示我在那里下载文件(浏览器对话框),然后我可以下载

【问题讨论】:

  • 对更改标题没有影响。有什么帮助吗?

标签: python python-2.7 csv browser dialog


【解决方案1】:

如果您使用 tkinter,那么 this 答案应该提供您正在寻找的答案 (tkFileDialog.askdirectory)。

from tkinter import *
window=Tk()
window.directory=filedialog.askdirectory(initialdir="/", title="Select a directory to download {}".format(YourFileName))
print(window.directory)

这将提示您选择一个位置来下载您想要的文件,就像您在网络浏览器中看到的一样。但是,您可能需要根据您使用的平台(Windows、Linux、Mac)更改initialdir 目录。我们还需要查看您当前正在运行的 Python 代码,以了解它如何下载您请求的文件。

【讨论】:

  • 我希望通过浏览器下载。这就是我尝试使用请求和响应标头但不起作用的原因
  • @Nikhil Ah,可能是错的,但我相信你会受到个别浏览器的支配。为了能够自动打开并开始向浏览器提供任何命令,您需要使用该特定浏览器的 API(如果有)。 “浏览器”是一个独立的应用程序。我知道你可以操纵 Internet Exploder,呃呃... Internet Explorer 带有 VB 脚本和微软支持的其他语言,因为那里有集成支持。对于像 Firefox 和 Google 这样的东西,这可能是不可能的。您可以使用 tkinter 来显示类似的目录选择器。
  • 实际上我正在用 erpnext (JavaScript) 编写脚本,并且我创建了一个自定义按钮,单击该按钮时,python 请求处于活动状态,它正在下载文件。所以我想要的是点击那个按钮,python不会让它自动下载,而是将请求发送到客户端,以便它通过浏览器下载
  • @Nikhil 啊,这似乎更多是 erpnext 及其背后的系统的问题。这个问题可能超出了 stackoverflow 的范围,因为这个社区主要处理更直接的编程框架和语言,而不是全栈开发套件。尽管如此,要回答这样的问题,我们需要更多信息。具体的javascript和python代码是什么。很可能需要将附加代码添加到 javacscipt 或 python 脚本中。您最好的选择可能是询问 erpnext 社区或开发团队,因为这可能是常见问题
猜你喜欢
  • 2011-11-22
  • 2012-07-04
  • 2010-10-18
  • 2012-07-11
  • 2018-09-13
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
  • 2015-05-02
相关资源
最近更新 更多