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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: Python - Código que crea un diccionario al llegar a cierto número en: 15 Agosto 2016, 16:45 pm
@Elektro muchas gracias, se ve que sabes mucho de python ;)
2  Programación / Scripting / Re: [BATCH] Problema Script Cuenta Regresiva en: 14 Agosto 2016, 23:25 pm
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  Programación / Scripting / Re: Qué son y como usar los diccionarios en python en: 14 Agosto 2016, 22:36 pm
@Elektro gracias por tu consejo pero yo encuentro los documentos oficiales de python tanto lioso como aburrido, pero gracias ;), un saludo!
4  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.
5  Programación / Scripting / Re: Qué son y como usar los diccionarios en python en: 14 Agosto 2016, 21:15 pm
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  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.
7  Programación / Scripting / Re: Revisar programa python en: 13 Agosto 2016, 00:18 am
1) podés usar como mínimo funciones para que sea más claro y fácil de modificar
Código
  1. print("""
  2.    [1] Temporada completa)
  3.    [2] Episodios sueltos)
  4.    [3] Salir
  5.          """)
Yo pensaba que poner tres comillas solo servía para describir las funciones pero ahora ya o sé.  ;D
Citar
3)
Código
  1. input2 = input()
  2. 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
  1. if input1 == "3":
  2.        salir = True
  3.    else:
  4.        if input1 == "1": #etc
  5.  

podría ser:
Código
  1. if input1 == "3":
  2.        salir = True
  3. elif input1 == "1":  #etc
  4.  
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
  1. print("Tienes seguidos desde el " + lista3[0] + " hasta el " + lista3[-1])
no está mal pero se podría:
Código
  1. 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  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