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 - 987123564

#1
@Elektro muchas gracias, se ve que sabes mucho de python ;)
#2
Hola, he probado el código de @Elektro y si pongo 60 minutos empieza en 48 minutos. Yo no se batch así que no les puedo aconsejar ni corregir nada :-(
#3
@Elektro gracias por tu consejo pero yo encuentro los documentos oficiales de python tanto lioso como aburrido, pero gracias ;), un saludo!
#4
Buenas, tengo un programa que analiza el nombre de episodios de pokémon y quiero que al llegar a un cierto episodio añada a un diccionario una clave con el número de la temporada y el valor con una lista de los episodios de esa temporada.
El formato de los episodios es así:

P0k3M0N.1x01.Es.avi.mp4

Tengo este código para que se hagan una idea:
Código (python) [Seleccionar]

import os

files = []

for file in os.listdir("."):
   if "P0k3M0N" in file:
       files.append(file)

with open('last.txt', 'r') as f:
   print("Last one: " + f.readline())

with open('last2.txt', 'r') as f:
   print("Last: " + f.readline())

episodes = []

for episode in range(len(files)):
   x = episode.find("x")
   episodes.append(episode[x - 1:x + 2])

index = episodes.find("2x01")
serie = {}

Espero que me ayuden, gracias y un saludo.
#5
Muchas gracias a todos por la información muy muy útil.
Ah y @tincopasan no soy un vago, yo sé que hay un montón de tutoriales y páginas web que lo explican y yo creo que en los foros se explica mejor y ponen más ejemplos  :¬¬
@engel lex ya vi los enlaces que pusiste, muchísimas gracias  ;-).
Y gracias a ti también @Tatoluckyfox.
#6
Hola, alguien me puede decir qué son, para que sirven y como se usan los diccionarios en python? Gracias y un saludo.
#7
Scripting / Re: Revisar programa python
13 Agosto 2016, 00:18 AM
Cita de: tincopasan en 12 Agosto 2016, 20:53 PM
1) podés usar como mínimo funciones para que sea más claro y fácil de modificar
Código (python) [Seleccionar]
print("""
    [1] Temporada completa)
    [2] Episodios sueltos)
    [3] Salir
          """)

Yo pensaba que poner tres comillas solo servía para describir las funciones pero ahora ya o sé.  ;D
Citar
3)
Código (python) [Seleccionar]

input2 = input()
input1 = str(input2)


eso es redundancia!  input devuelve una clase string,¿por las dudas la volvés a declarar?
Ya pero lo que fue es que una vez lo puse así y me decía que lo que devolvía era un int y hasta que no puse eso me daba ese error

Citar
4)
Código (python) [Seleccionar]

if input1 == "3":
        salir = True
    else:
        if input1 == "1": #etc


podría ser:
Código (python) [Seleccionar]

if input1 == "3":
        salir = True
elif input1 == "1":  #etc

Lo que yo pretendía con eso era que se estructurase mejor para que me sea más fácil buscar las distintas partes.
Citar
dicho sea de paso todo los elif se podrían hacer con el uso de un diccionario   y funciones como te dije antes
5)
Código (python) [Seleccionar]
print("Tienes seguidos desde el " + lista3[0] + " hasta el " + lista3[-1])
no está mal pero se podría:
Código (python) [Seleccionar]
print("Tienes seguidos desde el {} hasta el {}".format(lista3[0],lista3[-1]))
Yo soy más o menos nuevo y no me sé estos trucos del diccionario, pero ya me lo voy apuntando. :D

Con esto que me has dicho ya es más de lo que esperaba así que perfecto.
Gracias y un saludo :D
#8
Scripting / Revisar programa python
12 Agosto 2016, 18:07 PM
Hola, he hecho un programa que te manda a unas páginas web para descargar episodios de pokemon según la temporada y episodios que introduzcas. Me encantaría que me dijesen como mejorarlo y algunos errores que pueda tener. Gracias por adelantado  ;-).
Saludos.
Código (python) [Seleccionar]

"""
Nota: Los episodios de pokemon se llaman asi:
P0k3M0N.numero_temporadaxnumero_episodio.Es.avi.mp4
Ejemplo: P0k3M0N.1x01.Es.avi.mp4
"""
import webbrowser
import os
import temporadas
import time

#abre el archivo ultimo que contiene el utlimo episodio al que se accedio
f1 = open('ultimo.txt', 'r')

#abre el archivo ultimos que contiene los utlimos episodios a los que se accedieron
f4 = open('ultimos.txt', 'r')

#variable que guarda si el usuario quiere salir del bucle
salir = False
lista1 = []
lista2 = []

#añade a lista todos los archivos que tengan P0k3M0N en el nombre que hay en el directorio actual
for archivo in os.listdir("."):
   if "P0k3M0N" in archivo:
       lista1.append(archivo)

#añade a lista2 solo el numero del episodio
for i in lista1:
   index = i.find("x")
   str1 = i[index + 1:index + 3]
   lista2.append(str1)

#muestra el ultimo episodio que se puso
print("Ultimo: " + f1.readline())
#muestra los ultimos episodios que se pusieron
print("Ultimos: " + f4.readline())

f1.close()
f4.close()

x = 1
lista3 = []
lista4 = []

for i in range(int(lista2[-1])):
   y = str(x)
   if y in lista2:
       lista3.append(str(x))
   x += 1

cuenta1 = 0
cuenta2 = 0

for i in lista4:
cuenta1 += 1

for i in lista3:
cuenta2 += 1

if cuenta1 != 0:
print("Tienes sueltos los siguientes: " + str(lista4))

if cuenta2 != 0:
print("Tienes seguidos desde el " + lista3[0] + " hasta el " + lista3[-1])


while salir == False:
   print("[1] Temporada completa")
   print("[2] Episodios sueltos")
   print("[3] Salir")
   input2 = input()
   input1 = str(input2)
   if input1 == "3":
       salir = True
   else:
       if input1 == "1":
           temporada = input("Temporada: ")
           episodios = temporadas.episodios(temporada)
           index = episodios.find("-")
           primero = episodios[:index]
           segundo = episodios[index + 1:]
           x = int(primero)
           for i in range(int(segundo) - int(primero)):
               if len(str(x)) == 1:
                   url = "http://seriesblanco.com/serie/979/temporada-" + str(temporada) + "/capitulo-0" + str(x) + "/pokemon.html"
                   webbrowser.open_new_tab(url)
                   time.sleep(20)
               else:
                   url = "http://seriesblanco.com/serie/979/temporada-" + str(temporada) + "/capitulo-" + str(x) + "/pokemon.html"
                   webbrowser.open_new_tab(url)
                   time.sleep(20)
               x += 1
       else:
           input4 = input("Temporada: ")
           temporada = str(input4)
           arch = open('temporadas.txt', 'r')
           total = arch.readlines()
           numero = total[int(input4) - 1]
           search1 = numero.find("-")
           search2 = numero.find("\n")
           segundo = numero[search1 + 1:search2]
           print("Esta temporada tiene " + segundo + " capitulos")
           input3 = input("Episodios: ")
           episodios = str(input3)
           if "-" in episodios:
               index = episodios.find("-")
               primero = episodios[:index]
               segundo = episodios[index + 1:]
               x = int(primero)
               numeros = "123456789"
               for i in range(int(segundo) - int(primero) + 1):
                   if str(x) in numeros:
                       url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + str(x) + "/pokemon.html"
                       webbrowser.open_new_tab(url)
                   else:
                       url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + str(x) + "/pokemon.html"
                       webbrowser.open_new_tab(url)
                   x += 1
                   if int(segundo) > 10:
                       time.sleep(10)
               os.remove("ultimos.txt")
               f3 = open('ultimos.txt', 'w')
               f3.write(episodios)
               f3.close()
           elif "," in episodios:
               numeros = "123456789"
               cuenta = 0
               lista = []
               index = episodios.find(",")
               numero = episodios[:index]
               lista.append(numero)
               while index != -1:
                   index = episodios.find(",")
                   print(index)
                   if episodios[index + 1] == " ":
                       episodios = episodios[index + 2:]
                       print(1)
                   elif episodios[index + 1] in numeros:
                       print(episodios)
                       episodios = episodios[index + 1:]
                       print(episodios)
                       print(2)
                   numero = episodios[:index]
                   lista.append(numero)
               lista.pop(-1)
               print(lista)
               for i in lista:
                   cuenta += 1
               for i in range(cuenta):
                   if len(lista[i]) == 1:
                       url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + lista[i] + "/pokemon.html"
                       webbrowser.open_new_tab(url)
                   else:
                       url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + lista[i] + "/pokemon.html"
                       webbrowser.open_new_tab(url)
           else:
               if len(episodios) == 1:
                   url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + episodios + "/pokemon.html"
                   webbrowser.open_new_tab(url)
                   os.remove("ultimo.txt")
                   f2 = open('ultimo.txt', 'w')
                   f2.write(episodios)
                   f2.close()
               else:
                   url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + episodios + "/pokemon.html"
                   webbrowser.open_new_tab(url)
                   os.remove("ultimo.txt")
                   f2 = open('ultimo.txt', 'w')
                   f2.write(episodios)
                   f2.close()

También necesita unos ficheros .txt y otro módulo.
El otro módulo se llama temporadas.py y contiene lo siguiente:
Código (python) [Seleccionar]

def episodios(n_temporada):
       f = open('temporadas.txt', 'r')
       temporadas = f.readlines()
       temporada = temporadas[int(n_temporada) - 1]
       index = temporada.find('\n')
       return temporada[:index]

Los ficheros .txt se llaman temporadas.txt, que contiene el número de episodios de cada temporada:
1-83
1-34
1-40
1-51
1-64
1-39
1-51
1-53
1-46
1-51
1-51
1-52
1-33
1-49
1-48
1-44
1-47
1-44

Y los otros son ultimo.txt y ultimos.txt que su contenido se actualiza cada vez que se usa el programa.
Ruego respuesta y que les parece.
Saludos y gracias de antemano  ;-).