使用Python进行文件上传和处理

7 投票
3 回答
6106 浏览
提问于 2025-04-16 11:21

几天前,我的一个朋友找我帮忙,他的编程经验非常有限,正在做一个项目。

简单来说,他想要实现的目标是这样的:

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 个回答

0

如果你的朋友想快速简单地做点什么,而且他没有太多编程经验,我觉得他最好的选择是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}}
3

也许他可以看看Flask? http://flask.pocoo.org/ Flask是一个非常简单的Python网页框架,可以快速创建一个小网站。

6

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>

这只是我的一些想法,祝你好运。

撰写回答