Problemy z programem, który kopiuje linki ze schowka

Problemy z programem, który kopiuje linki ze schowka
IN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Witam, mam taki problem. Chciałem przećwiczyć sobie działanie na schowkach, z tego powodu użyłem modułu pyperclip.
Cel programu:
Skanuje schowek, kiedy coś się pojawi, sprawdza, czy dany string istnieje już w liście, jeżeli nie to go dodaje, a następnie schowek "zeruj", jeżeli nie istnieje.

Próbowałem zrobić coś takiego, jednak pojawiły się problemy, po pierwsze z płynnością tego programu(tzn. czasami trzeba kilka razy trzeba wykonać sekwencję kopiowania, zanim go doda), oraz z tym jak z tego programu wyjść. Jako iż, chciałbym, aby nie było z góry narzucone ile razy można dodać jakiś element, nie mogłem użyć pętli for, a jako, żeby automatycznie się dodawało bez mojej ingerencji (tylko kopiowanie) nie mogę nigdzie wpisać np. słowa "Stop"(mogę je jedynie skopiować).

Jeżeli ktoś by mi pomógł byłbym wdzięczny.
Niżej moje próby zrobienia tego programu

Kopiuj
import pyperclip
pyperclip.copy('')

listOfLinks = []

i = 1

while True:

    x = pyperclip.paste()

    if((len(x) != 0) and x.capitalize() != 'Stop'):
        if(x not in listOfLinks):# and (x != '')):
            listOfLinks.append(x)
            print("dodano", i, "link")
            pyperclip.copy('')
            i += 1
        else:
            pyperclip.copy('')
            print("Ten element już istnieje")
            continue
    elif(x.capitalize() == 'Stop'):
        break
    
    else:
        continue
lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
0

Standardowe pytania, co mówią debugger, i wujek?
Mi to działa w miarę płynnie, btw. Może dodaj czytanie inputu od usera, podaje, quit, czy, exit i program kończy działanie.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Osobny wątek który czyta console, po wpisaniu np. stop ustawia jakąś zmienną, zaś tu w tej pętli sprawdzasz wartość tej zmiennej.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
0

O! Wątkami jedziemy:) Ale rzeczywiście, to eleganckie rozwiązanie; problem jakie mam z tym, to, że mi to wygląda na xy dla sztuki.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
lion137 napisał(a):

mi to wygląda na xy

To nie jest xy, OP wyraźnie napisał że chce zatrzymać nieskończoną pętle.
Ale skoro nadal chcę (nie wiadomo czy chce więc może tu się kryje xy) konsole zamiast windowsowego okienka to napisałem jak zrobić to w konsoli.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.