使用Python进行文件上传和处理
几天前,我的一个朋友找我帮忙,他的编程经验非常有限,正在做一个项目。
简单来说,他想要实现的目标是这样的:
1.) Create a website that can accept text files as input.
2.) Read said file and pass the parameters contained in the
file to a python script.
3.) Output these results of the script on the same webpage upon completion.
他会一点Python(足够写一个处理脚本),但不知道接下来该怎么做。我给他做了一个简单的示例,使用ASP页面读取一个文件,然后用IronPython把参数传递到脚本文件中,最后输出结果,效果正如我预期的那样。
不过,我希望能引导他开发一个更简单的应用程序来完成这个任务,所以想找一些建议或者听听大家对不同方法的看法。我觉得由于他经验不足,越简单越好。
谢谢大家。
3 个回答
如果你的朋友想快速简单地做点什么,而且他没有太多编程经验,我觉得他最好的选择是web2py。这个工具不需要安装或配置,没有任何依赖关系,还自带一个网络服务器、一个关系型数据库,以及一个基于网页的集成开发环境和管理界面(可以看看这个演示)。
它非常容易上手,设计时就考虑到了使用的方便性和开发者的效率。你可以用很少的代码完成很多事情,因为它自带的框架和许多合理的默认设置。如果应用变得更复杂,web2py也能应对,因为它是一个功能齐全的全栈框架,内置了很多功能,比如数据库抽象层、表单处理和验证、访问控制、网络服务,以及简单的Ajax集成。
如果他在开始时需要帮助或者有任何问题,可以从非常友好和反应迅速的邮件列表获得很多支持。
下面是@Blender的Flask应用在web2py中的完整实现(这个版本还增加了一个不错的默认布局和菜单,以及国际化支持,可以翻译“Hello”消息):
文件: default.py
def index():
return dict(message=T('Hello'))
文件: index.html
{{extend 'layout.html' # optional}}
{{if message != 'nope':}}
{{=message}}
{{pass}}
也许他可以看看Flask? http://flask.pocoo.org/ Flask是一个非常简单的Python网页框架,可以快速创建一个小网站。
Flask 非常简单易用,功能强大,而且直观。我觉得在小项目中用它比用 Django 更好,因为 Django 需要的文件夹实在太多了(你可以看看它的入门教程)。我说的简单和直观是什么意思呢?我也很难用语言解释清楚,所以这里有一个示例脚本:
文件: script.py
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
return render_template('index.html', message = 'Hello')
if __name__ == '__main__':
app.run(host = '0.0.0.0')
文件: index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
</head>
<body>
{% if message != 'nope' %}
{{ message }}
{% endif %}
</body>
</html>
这只是我的一些想法,祝你好运。