2011-02-06 16 views
6

Me contactó un amigo hace unos días, que tiene muy poca experiencia en programación y tiene un proyecto con el que pidió ayuda.Subida y procesamiento de archivos usando Python

Básicamente - esto es lo que él está tratando de lograr:

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. 

Él sabe que una pequeña cantidad de Python (suficiente para escribir el guión de procesamiento), pero no tiene ni idea de dónde ir desde aquí. Hice un ejemplo rápido para él usando una página ASP que se lee en un archivo, y usé IronPython para pasar los parámetros a un archivo de script y generar los resultados, que funcionaron tal como lo esperaba.

Sin embargo, para él esperaba guiarlo en la dirección correcta de desarrollar una aplicación mucho más simple para realizar esto y esperaba encontrar algunas sugerencias o escuchar algunas ideas sobre diferentes enfoques. Me imagino que debido a su falta de experiencia, cuanto más simple, mejor.

Gracias chicos.

+0

quizás esto lo ayude a ponerse en el camino correcto: http://docs.djangoproject.com/en/dev/topics/http/file-uploads/?from=olddocs –

+0

La misma aplicación web en varios marcos: appengine, matraz, web.py, juno, botella, itty, django, ... https://github.com/agiliq/so-starving – jfs

Respuesta

6

Flask es dead-simple, extremadamente potente e intuitivo. Lo prefiero sobre Django para proyectos más pequeños, ya que Django usa manera demasiadas carpetas (solo sigue el tutorial de introducción). Esto es lo que quiero decir con simple e intuitivo. Realmente no puedo explicarlo con palabras, así que aquí tiene un script de ejemplo:

del archivo: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') 

de archivos: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> 

Sólo mis pensamientos, tan bueno suerte.

+0

Gracias Blender - ¡Esto era exactamente lo que estábamos buscando! :) –

+0

No hay problema. La documentación en línea es más o menos el único lugar para encontrar información sobre Flask, pero probablemente sea lo único que necesite: http://flask.pocoo.org/docs/ – Blender

+0

Heh, mientras escribía el código de ejemplo, Accidentalmente sobrescribí mi aplicación de biblioteca de 500 líneas guardando este archivo. ¡Qué bueno que borré un Tarball de la fuente de antemano! – Blender

2

¿Quizás vea a Flask? http://flask.pocoo.org/ Estructura web muy simple en Python para crear rápidamente un pequeño sitio web.

+0

Gracias gigimon :) –

0

Si su amigo quiere hacer algo juntos muy rápida y fácilmente y no tiene mucha experiencia en programación, creo que su mejor opción sería web2py. No requiere instalación ni configuración, no tiene dependencias e incluye un servidor web, una base de datos relacional y un entorno de desarrollo integrado basado en la web y una interfaz de administración (demo).

Es very easy to learn y fue diseñado para ease of use and developer productivity. Puedes hacer mucho con muy poco código gracias a la aplicación de andamios incluida junto con muchos comportamientos predeterminados razonables. Si la aplicación se vuelve más compleja, web2py puede manejarla, ya que es un marco de pila completa bien integrado con muchas funcionalidades integradas, que incluyen una capa de abstracción de base de datos, manejo y validación de formularios, control de acceso, servicios web y fácil Integración Ajax.

Si necesita ayuda para comenzar o tiene alguna pregunta, obtendrá mucha ayuda del muy amable y receptivo mailing list.

Aquí está la completa equivalente web2py trabajo de Frasco aplicación de @ Blender (aunque esta versión añade un diseño predeterminado agradable con un menú, así como apoyo a la internacionalización de traducir el 'Hola' mensaje):

del archivo:default.py

def index(): 
    return dict(message=T('Hello')) 

del archivo:index.html

{{extend 'layout.html' # optional}} 
{{if message != 'nope':}} 
{{=message}} 
{{pass}} 
Cuestiones relacionadas