elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Python - Código que crea un diccionario al llegar a cierto número en: 14 Agosto 2016, 21:59 pm
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
  1. import os
  2.  
  3. files = []
  4.  
  5. for file in os.listdir("."):
  6.    if "P0k3M0N" in file:
  7.        files.append(file)
  8.  
  9. with open('last.txt', 'r') as f:
  10.    print("Last one: " + f.readline())
  11.  
  12. with open('last2.txt', 'r') as f:
  13.    print("Last: " + f.readline())
  14.  
  15. episodes = []
  16.  
  17. for episode in range(len(files)):
  18.    x = episode.find("x")
  19.    episodes.append(episode[x - 1:x + 2])
  20.  
  21. index = episodes.find("2x01")
  22. serie = {}
Espero que me ayuden, gracias y un saludo.
2  Programación / Scripting / Qué son y como usar los diccionarios en python en: 13 Agosto 2016, 23:35 pm
Hola, alguien me puede decir qué son, para que sirven y como se usan los diccionarios en python? Gracias y un saludo.
3  Programación / Scripting / Revisar programa python en: 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
  1. """
  2. Nota: Los episodios de pokemon se llaman asi:
  3. P0k3M0N.numero_temporadaxnumero_episodio.Es.avi.mp4
  4. Ejemplo: P0k3M0N.1x01.Es.avi.mp4
  5. """
  6. import webbrowser
  7. import os
  8. import temporadas
  9. import time
  10.  
  11. #abre el archivo ultimo que contiene el utlimo episodio al que se accedio
  12. f1 = open('ultimo.txt', 'r')
  13.  
  14. #abre el archivo ultimos que contiene los utlimos episodios a los que se accedieron
  15. f4 = open('ultimos.txt', 'r')
  16.  
  17. #variable que guarda si el usuario quiere salir del bucle
  18. salir = False
  19. lista1 = []
  20. lista2 = []
  21.  
  22. #añade a lista todos los archivos que tengan P0k3M0N en el nombre que hay en el directorio actual
  23. for archivo in os.listdir("."):
  24.    if "P0k3M0N" in archivo:
  25.        lista1.append(archivo)
  26.  
  27. #añade a lista2 solo el numero del episodio
  28. for i in lista1:
  29.    index = i.find("x")
  30.    str1 = i[index + 1:index + 3]
  31.    lista2.append(str1)
  32.  
  33. #muestra el ultimo episodio que se puso
  34. print("Ultimo: " + f1.readline())
  35. #muestra los ultimos episodios que se pusieron
  36. print("Ultimos: " + f4.readline())
  37.  
  38. f1.close()
  39. f4.close()
  40.  
  41. x = 1
  42. lista3 = []
  43. lista4 = []
  44.  
  45. for i in range(int(lista2[-1])):
  46.    y = str(x)
  47.    if y in lista2:
  48.        lista3.append(str(x))
  49.    x += 1
  50.  
  51. cuenta1 = 0
  52. cuenta2 = 0
  53.  
  54. for i in lista4:
  55. cuenta1 += 1
  56.  
  57. for i in lista3:
  58. cuenta2 += 1
  59.  
  60. if cuenta1 != 0:
  61. print("Tienes sueltos los siguientes: " + str(lista4))
  62.  
  63. if cuenta2 != 0:
  64. print("Tienes seguidos desde el " + lista3[0] + " hasta el " + lista3[-1])
  65.  
  66.  
  67. while salir == False:
  68.    print("[1] Temporada completa")
  69.    print("[2] Episodios sueltos")
  70.    print("[3] Salir")
  71.    input2 = input()
  72.    input1 = str(input2)
  73.    if input1 == "3":
  74.        salir = True
  75.    else:
  76.        if input1 == "1":
  77.            temporada = input("Temporada: ")
  78.            episodios = temporadas.episodios(temporada)
  79.            index = episodios.find("-")
  80.            primero = episodios[:index]
  81.            segundo = episodios[index + 1:]
  82.            x = int(primero)
  83.            for i in range(int(segundo) - int(primero)):
  84.                if len(str(x)) == 1:
  85.                    url = "http://seriesblanco.com/serie/979/temporada-" + str(temporada) + "/capitulo-0" + str(x) + "/pokemon.html"
  86.                    webbrowser.open_new_tab(url)
  87.                    time.sleep(20)
  88.                else:
  89.                    url = "http://seriesblanco.com/serie/979/temporada-" + str(temporada) + "/capitulo-" + str(x) + "/pokemon.html"
  90.                    webbrowser.open_new_tab(url)
  91.                    time.sleep(20)
  92.                x += 1
  93.        else:
  94.            input4 = input("Temporada: ")
  95.            temporada = str(input4)
  96.            arch = open('temporadas.txt', 'r')
  97.            total = arch.readlines()
  98.            numero = total[int(input4) - 1]
  99.            search1 = numero.find("-")
  100.            search2 = numero.find("\n")
  101.            segundo = numero[search1 + 1:search2]
  102.            print("Esta temporada tiene " + segundo + " capitulos")
  103.            input3 = input("Episodios: ")
  104.            episodios = str(input3)
  105.            if "-" in episodios:
  106.                index = episodios.find("-")
  107.                primero = episodios[:index]
  108.                segundo = episodios[index + 1:]
  109.                x = int(primero)
  110.                numeros = "123456789"
  111.                for i in range(int(segundo) - int(primero) + 1):
  112.                    if str(x) in numeros:
  113.                        url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + str(x) + "/pokemon.html"
  114.                        webbrowser.open_new_tab(url)
  115.                    else:
  116.                        url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + str(x) + "/pokemon.html"
  117.                        webbrowser.open_new_tab(url)
  118.                    x += 1
  119.                    if int(segundo) > 10:
  120.                        time.sleep(10)
  121.                os.remove("ultimos.txt")
  122.                f3 = open('ultimos.txt', 'w')
  123.                f3.write(episodios)
  124.                f3.close()
  125.            elif "," in episodios:
  126.                numeros = "123456789"
  127.                cuenta = 0
  128.                lista = []
  129.                index = episodios.find(",")
  130.                numero = episodios[:index]
  131.                lista.append(numero)
  132.                while index != -1:
  133.                    index = episodios.find(",")
  134.                    print(index)
  135.                    if episodios[index + 1] == " ":
  136.                        episodios = episodios[index + 2:]
  137.                        print(1)
  138.                    elif episodios[index + 1] in numeros:
  139.                        print(episodios)
  140.                        episodios = episodios[index + 1:]
  141.                        print(episodios)
  142.                        print(2)
  143.                    numero = episodios[:index]
  144.                    lista.append(numero)
  145.                lista.pop(-1)
  146.                print(lista)
  147.                for i in lista:
  148.                    cuenta += 1
  149.                for i in range(cuenta):
  150.                    if len(lista[i]) == 1:
  151.                        url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + lista[i] + "/pokemon.html"
  152.                        webbrowser.open_new_tab(url)
  153.                    else:
  154.                        url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + lista[i] + "/pokemon.html"
  155.                        webbrowser.open_new_tab(url)
  156.            else:
  157.                if len(episodios) == 1:
  158.                    url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-0" + episodios + "/pokemon.html"
  159.                    webbrowser.open_new_tab(url)
  160.                    os.remove("ultimo.txt")
  161.                    f2 = open('ultimo.txt', 'w')
  162.                    f2.write(episodios)
  163.                    f2.close()
  164.                else:
  165.                    url = "http://seriesblanco.com/serie/979/temporada-" + temporada + "/capitulo-" + episodios + "/pokemon.html"
  166.                    webbrowser.open_new_tab(url)
  167.                    os.remove("ultimo.txt")
  168.                    f2 = open('ultimo.txt', 'w')
  169.                    f2.write(episodios)
  170.                    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
  1. def episodios(n_temporada):
  2.        f = open('temporadas.txt', 'r')
  3.        temporadas = f.readlines()
  4.        temporada = temporadas[int(n_temporada) - 1]
  5.        index = temporada.find('\n')
  6.        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  ;-).
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines