【发布时间】:2015-01-26 14:31:46
【问题描述】:
我想运行一个客户端文件对话框 GUI,以便用户可以选择一个文件来使用 python (example) 处理。我的代码基本上可以正常工作,在这里:
from flask import Flask, url_for, request
app = Flask(__name__)
@app.route('/data')
def gui_test():
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
filepath = tkFileDialog.askopenfilename()
with open(filepath,'rb') as tt:
lines = tt.readlines()
return 'You are reading ' + filepath + '<p>Top 10 lines for proof of concept<p>'+'<br>'.join(lines[0:10])
if __name__ == '__main__':
app.run()
一切正常,除了 GUI 在运行此 REST 代码的机器上打开,而不是在客户端的用户帐户中打开。
用户应该使用浏览器转到http://127.0.0.1:5000/data,然后应该会看到文件对话框:
详细信息:Windows Server 2012 R2、Flask 0.10.1、Python 2.7
如果我采取了错误的方法,我会很感激其他方向的建议。这个想法可能存在缺陷,因为浏览器不共享完整路径 (javascript example)。
【问题讨论】: