728x90
Python으로 글자를 쓰는 방법은 두 가지 방법이 있다.
첫 번째 방법은 pyautogui의 typewrite를 이용하는 것이고, 두 번째 방법은 pyperclip의 copy를 이용하는 것이다.
pyautogui typewrite 사용법
pyautogui.typewrite(['h','e','l','l','o'],interval=1)
다음과 같이 인터벌을 줄 수 있어 사용하기 편리하다.
하지만 pyautogui의 치명적인 단점이 있다. 바로 한글을 지원하지 않는다는 점이다.
pyperclip copy 사용법
두번 째 방법은 pyperclip의 copy를 사용하는 방법이다. copy를 사용한다면 클립보드에 저장된다.
클립보드에 저장된 글자는 Ctrl v를 이용하여 사용할 수 있다.
코드를 다음과 같이 작성할 수 있다.
pyperclip.copy('안녕하세요')
pyautogui.hotkey("ctrl", "v")
그렇다면 이 문장을 어떻게 하면 나눌 수 있을 까?
list을 이용하면 된다.
str = "안녕하세요"
str_list = list(str)
다음과 같이 코드를 작성하고 str_list를 출력을 하면 다음과 같은 결과가 나온다.
['안','녕','하','세','요']
list만 사용했을 뿐인데 알아서 나눠주었다.
그렇다면 txt파일에 있는 내용을 한 글자씩 쓰려면 어떻게 코드를 작성해야할까
다음과 같이 작성할 수 있을 것이다.
import time
import pyperclip
import pyautogui
data = open('content.txt', 'r',encoding='utf8')
lines = data.read()
data.close()
str_list = (list(lines))
for i in range(len(str_list)):
time.sleep(0.1)
if(str_list[i]=='\\' and str_list[i+1]=="n"):
pyautogui.hotkey("enter")
if str_list[i-1]=="\\" and str_list[i]=="n":
pass
else:
pyperclip.copy(str_list[i])
pyautogui.hotkey("ctrl", "v")
개행에 대한 조건을 주기 위해 if문을 작성하였다.
개행은 특이한 점이 \ n 따로 인게 아니라 \n 함께 list에 넣어진다.
728x90
'ETC > 에러 모음' 카테고리의 다른 글
LightSail 403 Access enide Error 해결방법 (0) | 2020.09.07 |
---|---|
PyQt time sleep error 해결 및 구현 (0) | 2020.08.16 |
TypeError: an integer is required (got type str) (0) | 2020.08.12 |
python txt read 파일 읽기 에러 'cp949 codec' 해결법 (0) | 2020.08.12 |
Python \ufeff 제거 (0) | 2020.07.28 |