Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Once

#71
Scripting / Re: MVC en python
19 Octubre 2013, 00:26 AM
Cita de: the_jocker en 16 Octubre 2013, 19:13 PM
Es cierto, de esa manera es posible, pero tuve que hacer todo de nuevo y con un ide, como ninja-ide, pero funciona de ésta manera, gracias por responder, ahora la ultima pregunta, y creo que la más importante para mi, ya que está comprobado el poder de java en las aplicaciones, gracias a la maquina, ésta manera de trabajo parece ser la correcta, ahora, en la serpiente, es recomendable, ya que en un proyecto a gran escala, y como es interpretado, tener un controlador que tenga muchas lineas de codigo, y que maneje todo, sería una buena practica para trabajar?.

Sólo te puedo aconsejar desde mi experiencia (también estoy trabajando en un proyecto algo grande) el MVC y separar el proyecto en módulos es una buena idea, cuando tienen que cambiar algo lo haces en el módulo específico y no tienes que modificar todo. En mi proyecto trabajo además con una GUI en QT4 y ésta fue la mejor forma de trabajar que encontré, me ahorró muchos dolores de cabeza.

Saludos!
#72
Scripting / Re: MVC en python
16 Octubre 2013, 03:42 AM
Supongo que Mensaje es un función o una clase, así que:

Código (python) [Seleccionar]

def Saludar(self):
    vista.Mensaje()


Saludos!
#73
Scripting / Re: MVC en python
16 Octubre 2013, 03:25 AM
Desde setup.py puedes importar Controlador.py, modelo.py y vista.py de la siguiente forma:

Código (python) [Seleccionar]

from controlador import Controlador
from Modelo import modelo
from Vista import vista


Saludos!
#74
No sé cómo lograste correr ese código. Al error que te refieres se debe a que tienes mal identado justo donde cierras los dos archivos que deben estar al nivel del for más interno.

El código funcional quedaría así:
Código (python) [Seleccionar]

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import re
import os
import glob
def rot47(s):
    x = []
    for i in xrange(len(s) - 1):
        j = ord(s[i])
        if j >= 33 and j <= 126:
            x.append(chr(33 + ((j + 14) % 94)))
        else:
            x.append(s)
    return ''.join(x)

#lineas2=""
list_of_files = glob.glob('/home/omar/pruebas_scripts/test_ofus/*.log')
for file_name in list_of_files:
  #for test in origen.readlines():
  origen = open(file_name, 'r')
  destino = open(file_name + ".txt", "w")
  for test in origen.readlines():
     split = test.split("|")
     lineas = test.replace(split[4],rot47(split[4]))
     #lineas2 = lineas + 1
     destino.writelines(lineas)
  origen.close()
  destino.close()


Ten cuidado con las identaciones y la línea donde haces el replace

Saludos!
#75
Scripting / Re: [Python] Dilema con try
1 Octubre 2013, 01:00 AM
Cita de: Arnau27 en 30 Septiembre 2013, 23:41 PM
Cómo podría ir a la función "asdf()" solo si es cierto que el archivo existe?

Puedes usar la libreria os para saber si el archivo existe:

Código (python) [Seleccionar]
if os.path.isfile(var):
    asdf()


Saludos!
#76
Scripting / Re: Listar una cadena
30 Septiembre 2013, 19:20 PM
Entiendo, se me ocurren dos formas de hacerlo:

Usando for
Código (python) [Seleccionar]
asd = 'qwertyuiopasdfghjklzxcvb'

for i in xrange(0, len(asd), 3):
    print asd[i:i+3]


O usando expresiones regulares:

Código (python) [Seleccionar]

import re
asd = 'qwertyuiopasdfghjklzxcvb'
print re.findall("(.{3})", asd)


Saludos!
#77
Scripting / Re: Listar una cadena
29 Septiembre 2013, 22:59 PM
¿Qué código tienes?

Saludos!
#78
Scripting / Re: (PyQt) Variables estaticas en Python
29 Septiembre 2013, 05:05 AM
Intenta usando signals

Saludos!
#79
Scripting / Re: variable en un boton
29 Septiembre 2013, 04:57 AM
Tú lo has dicho, sólo necesitas un contador. En __init__ coloca:

Código (python) [Seleccionar]

self.contador = 0


y en on_button_clicked:

Código (python) [Seleccionar]

self.contador += 1
widget.set_label(str(self.contador))


Saludos!
#80
El problema es que estas trabajando sobre la ruta en la que está el script (os.getcwd()) así que lo que tienes sólo te sirve para las carpetas que esten al mismo nivel que el script.

Supon que en la raíz del disco C: tienes tu script y la carpeta "Nueva" y dentro de la carpeta "Nueva" tienes otra carpeta con el nombre: "Más nueva"

Cuando haces os.getcwd() te regresa c:/ si intentas entrar a "Nueva" la ruta te quedaria: C:/Nueva (no da errores, la carpeta existe) pero cuando intentas entrar a "Más nueva" la ruta te quedaria: C:/Más nueva (que no existe) la ruta verdadera seria: C:/Nueva/Más nueva

Y un par de sugerencias:

En lugar de usar:
Código (python) [Seleccionar]
rut = os.getcwd() + '\\' + sel2 usa os.path.join()
Código (python) [Seleccionar]
rut = os.path.join(os.getcwd(), sel2)

Declara primero las funciones y luego coloca el código principal

También puedes usar la función os.path.isdir() para que evites esos errores cuando no se selecciona un directorio.

Saludos!