Ich will meine Zwischenablage lesen, und wieder neu setzten.
Wie mache ich das ohne tkinter?
Zwischenablage OHNE tkinter
-
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
Ich will nätürlich gar kein GUI-Toolkit verwenden.BlackJack hat geschrieben:@HardwareManager: Welches andere GUI-Toolkit möchtest Du denn verwenden?
@Hellstorm
Was ist das auslesen und schreiben??
Und warum kommt das hier wenn ich es ausführe:
Code: Alles auswählen
import pyperclip
ImportError: No module named 'pyperclip'
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
Danke für die schnelle Antwort.darktrym hat geschrieben:Klick.
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
Ich habe jetzt aber gemerkt das das
so etwas ausgibt wie kann ich das b und die ' Striche weg machen??
Code: Alles auswählen
>>>
b'getcb'
>>>
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
@HardwareManager: Das ist die Zeichenkettendarstellung von einem Objekt vom Typ `bytes`. Da gibt es nichts ”weg zu machen”. Vielleicht möchtest Du die Bytes in eine Zeichenkette umwandeln. Dann musst Du aber wissen in welcher Kodierung die vorliegen.
Du schaust dir die zu Debug-Zwecken geeignete Repräsentation der Daten an. De facto handelt es sich um eine Sequenz mit den Byte-Werten 103, 101, 116, 99 und 98 die im ASCII-Code die Zeichenkette "getcb" ergeben. Ob die zurückgelieferten Daten jetzt aber wirklich nur ASCII sind (was eher nicht anzunehmen ist) musst du schon selber wissen bzw. der Dokumentation der von dir benutzten Bibliotheken entnehmen.HardwareManager hat geschrieben:wie kann ich das b und die ' Striche weg machen??
Ich würde dir eventuell empfehlen, ein Python-Tutorial durchzuarbeiten. Insbesondere den Unterschied zwischen dem interaktiven Interpreter (Also wenn man „python“ in der Kommandozeile öffnet) sowie seine Besonderheiten, und dem Durchlaufen einer Quellcodedatei.HardwareManager hat geschrieben:Ich habe jetzt aber gemerkt das dasso etwas ausgibt wie kann ich das b und die ' Striche weg machen??Code: Alles auswählen
>>> b'getcb' >>>
Ergänzend zu /me und BlackJack:
Wenn du den interaktiven Modus laufen lässt, kannst du einfach den „Inhalt“ jedes Objektes (also einer Variable, einer Funktion, einer Klasse usw) anzeigen lassen. Das macht man, indem man einfach den Namen des Objektes eingibt:
Code: Alles auswählen
>>> a = 5
>>> a
5
>>> b = "Test"
>>> b
'Test'
Code: Alles auswählen
>>> import pyperclip
>>> pyperclip
<module 'pyperclip' from 'C:\\Programmieren\\Python33\\lib\\site-packages\\pyperclip\\__init__.py'>
Das gleiche dann oben bei dem „b“: Python zeigt mit Hilfe der '...' an, dass es ein String/Zeichenkette ist. In der Variable selber sind allerdings nur die Buchstaben T e s t gespeichert. Bei der Variable a stehen keine '...' daneben, weil es ein Integer ist: Man sieht das daran, dass keine '...' dabei sind.
Würdest du das ganze jetzt mit Hilfe der print-Funktion ausgeben, „verschwinden“ die '...' automatisch. Bei der Ausgabe mit Hilfe von print gibt es keine Dateitypen mehr, sondern es zählt praktisch nur das Ergebnis, und das ist in jedem Fall einfach nur die Ausgabe. Ein Datentyp (also z.B. ein Integer oder ein String) kann der print-Funktion mitteilen, wie es ausgegeben werden soll:
Code: Alles auswählen
>>> print(a)
5
>>> print(b)
Test
>>> print(pyperclip)
<module 'pyperclip' from 'C:\\Programmieren\\Python33\\lib\\site-packages\\pyperclip\\__init__.py'>
Zu deiner Sache mit dem b"...":
Python (3) unterscheidet zwischen zwei Arten von Strings/Zeichenketten: Text und „Rohdaten“ (Byte-Strings). Text ist der normale String, den du mit "blabla" erstellst. Ein Computer selber kann aber mit Text nichts anfangen. Ein Computer kann nur mit Zahlen rechnen. Ein A ist einfach nur ein Bild, was dem Wert 65 zugeordnet ist (Das alles jetzt weiter zu erklären würde zu sehr ausarten, deswegen lies einfach mal den Artikel zu Zeichenkodierungen). Wie Python intern diesen Text speichert braucht dich im Grunde nicht zu interessieren, das ist auch egal. Wichtig ist nur zu verstehen, dass das einfach Text ist. Da kommen Buchstaben, Sätze usw. herein.
Ein Text-String lässt sich allerdings in Rohdaten umwandeln. Wie oben gesagt ist ein A eigentlich die Zahl 65 dezimal/41 hexadezimal. Ich kann nun also mit bla = b"\x41" den Wert 41hex in die Variable bla speichern. Das sagt aber erst einmal gar nichts aus, was das jetzt sein soll. Wie du im Wiki-Artikel zu Zeichenkodierung gelesen hast, ist eine Zeichenkodierung nur eine willkürliche Zuordnung von Bildern zu Werten. dieses 41hex kann also ein A sein, muss es aber gar nicht. Mit einem
Code: Alles auswählen
b"\x41".decode("cp1252")
Zu deiner Zwischenablage-Frage nun:
In der Windows-Zwischenablage liegen eben genau diese „Rohdaten”. Du kriegst also mit dem pyperclip.paste() genau diese Rohdaten heraus. Die musst du dann erst wieder in Python-interne Text-Strings umwandeln, wie oben.
Von daher, mach einfach folgendes: Wenn du „Hähä“ in der Zwischenablage hast, nutzt du folgenden Code:
Code: Alles auswählen
>>> zwischenablage = pyperclip.paste().decode("cp1252")