Sonderzeichen in Python?
Hi, ich habe ein Script gemacht, was eine Datei liest und dann den Inhalt der Datei schreibt. Das Problem ist, es kann keine Sonderzeichen wie ä, ö oder ü schreiben.
Code:
import pyautogui
import time
import sys
import os
f = open(input('Dateiname: '), 'r')
zeitabstand = input('Zeitabstand zwischen den Buchstaben (z.B 0.1): ')
zeitabstand = float(zeitabstand)
print('Es wird gestartet...')
for letter in f:
pyautogui.typewrite(letter, interval=zeitabstand)
input('Fertig!')
Vielen Dank im Voraus
1 Antwort
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Kopiere den jeweiligen Buchstaben in die Zwischenablage und füge ihn mit Ctrl+V ein. Geht so:
import pyautogui
import pyperclip
#Deine restlichen Bibliotheken
#Open, Input und das ganze Zeugs
for letter in f:
pyperclip.copy(letter)
pyautogui.hotkey("ctrl", "v")
sleep(zeitabstand)
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Danke, es funktioniert :). Aber geht es irgendwie das man zwischen jedem Buchstaben einen Zeitabstand hat, da es jeden Satz kopiert?
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Oh, also ist die Variable letter immer ein ganzes Wort, verstehe ich das richtig?
Du könntest das jeweilige Wort (also die Variable letter) in ein Char-Array umwandeln und dann eine weitere for-schleife machen, die über alle chars in dem Array geht.
das geht mit
for letter in list(word)
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Sähe dann so aus (habs noch nicht getestet) :
import pyautogui
import pyperclip
import time
import sys
import os
f = open(input('Dateiname: '), 'r')
zeitabstand = input('Zeitabstand zwischen den Buchstaben (z.B 0.1): ')
zeitabstand = float(zeitabstand)
print('Es wird gestartet...')
for line in f:
for letter in list(line):
pyperclip.copy(letter)
pyautogui.hotkey("ctrl", "v")
time.sleep(zeitabstand)
input('Fertig!')
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Bitteschön. Klappts wie gewünscht? :)
Lerne Python erst seit vorgestern, da kann mir schnell mal ein Fehler unterlaufen xD
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Anscheinend kannst du einfach
for letter in line:
machen, Anstatt dem
for letter in list(line):
Das list() braucht man wohl nicht.
Edit: die letzte Zeile muss
heissen.