python - Python Web App 通过 Heroku 服务器打开 Windows 资源管理器
问题描述
我正在尝试创建一个 Python / flask webapp,它接受一个等于 Dropbox 目录的查询,然后打开 Windows 资源管理器到该位置。它在本地机器上工作,但我需要它在我的 Heroku 服务器上工作。
%HOMEPATH% / "Dropbox Directory"
当我复制并粘贴到目录中时,我尝试使用which 有效。
@app.route("/", methods=["GET","POST"])
def redirect_URL():
url = request.args.get('url')
HP = str(Path.home())
path = Path(HP + url)
string = r'explorer "{}"'.format(path)
print(string)
subprocess.Popen(string)
return "success"
当应用程序之类的东西domain.com/?url="dropbox directory"
应该打开 Windows 资源管理器到该位置时。
上面的代码在本地系统上运行良好。但是 Path.home 返回 app 文件夹
解决方案
有一些好消息和一些坏消息。
好消息是你得到错误的目录是有原因的,你知道这是因为Path.home()
返回了你的应用程序的目录。
坏消息是这永远不会改变。您的代码在服务器上运行,因此不仅会Path.home()
始终返回您应用程序的目录,而且您无法获取所需的目录。
更多subprocess.Popen(string)
的将在您的服务器上运行该过程。这就是为什么它可以在 localhost 上工作,但不能在 heroku 上工作的原因。您不能使用网站在客户端计算机上运行进程。
所以,你想做的事情是不可能从网站上做的。
推荐阅读
- microsoft-graph-api - 如何从 Microsoft Search API 获取“@microsoft.graph.downloadUrl”?
- python - Pythons os.walk() 访问所有文件夹而不是仅访问给定文件夹
- python - 如何选择标签
- macos - Android studio 返回无法下载 gradle 并且还有缓存问题是什么意思?
- plc - 整个功能块真的存储在 RETAIN 内存中吗?
- c# - WebView2如何加载本地文件?
- sql - 如何在 2 个表之间建立链接?
- react-native - react-native-webview 中的按钮
- python - 计算连续的字母
- javascript - 使用部分 GLTF 作为 InstancedMesh