Python - No añadir string en lista cuando contenga espacios o otros caracteres no deseados

 
Vista:
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

No añadir string en lista cuando contenga espacios o otros caracteres no deseados

Publicado por Samuel (38 intervenciones) el 25/09/2019 10:59:51
hola!
Para practicar he hecho un script que captura por OCR textos y movimientos por una web,y los va guardando en una lista, funciona bastante bien pero aveces guarda mal los nombres por eso quiero poner las siguientes reglas:

Si la captura , contiene espacios, letras mayúsculas,o estos caracteres , |,[,],{.},(,),-, no añadir a la lista, como lo hago? he probado varias formas pero no funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import webbrowser
import pyautogui
import time
import cv2
import pytesseract
from PIL import Image
nombres=[]
tags=["london","Amsterdam","Athens","Barcelona"]
numero=0
def funcion():
    global numero
    pyautogui.click(800,51)
    time.sleep(1)
    pyautogui.typewrite('https://www.web'+(tags[(numero)])+'/', interval=0.01)
    pyautogui.press('enter')
    time.sleep(5)
    pyautogui.click(263,434)
 
    #pasar paginas de las web y capturar nombres
 
    time.sleep(2)
    pyautogui.click(1190,573)
    # Capturamos pantalla
    captura = pyautogui.screenshot(region=(821,154,268,32))
    # Guardamos imagen
    captura.save('estado.png')
    #OCR de la imagen
    im = cv2.imread("estado.png")
    estado = pytesseract.image_to_string(im)
    nombres.insert(0,(estado))
    #FIN CAPTURA
funcion()

probé así pero no funciona bien:

1
2
3
for caracter in estado:
    while caracter in  ["|","," ,"[","]","{","}","(",")"," ","-"]:
        nombres.insert(0,(estado))
1
2
3
for caracter in estado:
    if caracter not in  ["|","[","]","{","}","(",")"," ","-"]:
        nombres.insert(0,(estado))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder