juuuding
Chapter 03 기초 프로그램 만들기 #2, 3 본문
#2 컴퓨터의 외부 및 내부 IP 확인하기
* 사전 지식: IP는 주소를 나타낸다. 외부 IP는 xx시 xx동 xxx아파트이고, 내부 IP는 동, 호수라고 표현할 수 있다. 외부 IP는 KT, LG등 인터넷 망 공급자가 주소를 할당하여 주고, 내부 IP는 집의 공유기가 주소를 할당하여 준다.
#내부, 외부 IP 한번에 출력
import socket
import requests #사이트 접속 위한 모듈
import re #IP 주소 찾기 위한 정규식 사용을 위해 re모듈 사용
#소켓 연결
in_addr = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#구글 접속, https 접속 포트 443
in_addr.connect(("www.google.co.kr",443))
print("내부 IP: ",in_addr.getsockname()[0])
#ipconfig 사이트 접속
req = requests.get("http://ipconfig.kr")
#정규식 표현 사용하여 IP 주소를 가져와서 out_addr 변수와 바인딩
out_addr= re.search(r'IP Address : (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})',req.text)[1]
print('외부 IP: ',out_addr)
#3 텍스트를 음성으로 변환하기
1. 라이브러리 설치
- pip install은 pip라는 패키지 관리 장소이다. pip install [설치하는 모듈이름]으로 설치 가능하다. gtts 라이브러리는 문자를 음성으로 변환해주는 라이브러리이다. playsound는 mp3 파일을 파이썬에서 재생하기 위한 라이브러리이다.
pip install gtts
pip install playsound == 1.2.2
2. 텍스트를 음성으로 변환하는 코드 만들기
(1)
# gtts 라이브러리로부터 gTTS를 불러온다. gtts 안의 gTTS 기능만 불러와 사용한다.
from gtts import gTTS
text = "안녕하세요. 파이썬과 40개의 작품들입니다"
# text 변수의 문자열을 한글로 변환하여 tts 변수에 바인딩한다
tts= gTTS(text=text, lang='ko')
# 3. 폴더에 hi.mp3 파일이름으로 저장한다. 파이썬에서 \\은 특별한 명령어 형태를 가질 수 있는데, r을 붙이면 역슬래쉬 자체로만 해석한다.
tts.save(r"3. Converting text to speech\hi.mp3")
(2) 음성변환으로 생성되는 .mp3 파일을 바로 파이썬에서 실행
from gtts import gTTS
from playsound import playsound
import os
# 경로를 현재 .py파일을 실행하는 경로로 이동.
os.chdir(os.path.dirname(os.path.abspath(__file__)))
text="안녕하세요. 파이썬과 40개의 작품들입니다."
tts=gTTS(text=text, lang='ko')
tts.save("hi.mp3")
# hi.mp3 파일 재생
playsound("hi.mp3")
3. 파일에서 문자를 읽어 음성으로 출력하는 코드
from gtts import gTTS
from playsound import playsound
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
file_path='myText.txt'
# f의 이름으로 파일 오픈. 'rt', encoding='UTF8' 형식으로 파일을 열어 한글이 깨지지 않게 함.
with open(file_path, 'rt', encoding='UTF8') as f :
read_file=f.read()
tts=gTTS(text=read_file, lang='ko')
tts.save("myText.mp3")
playsound("myText.mp3")
'Python > 파이썬과 40개의 작품들' 카테고리의 다른 글
Chapter 04 자동화 프로그램 만들기 #11 (0) | 2023.02.08 |
---|---|
Chapter 04 자동화 프로그램 만들기 #10 (0) | 2023.01.30 |
Chapter 04 자동화 프로그램 만들기 #9 (0) | 2023.01.27 |
Chapter 03 기초 프로그램 만들기 #7, 8 (0) | 2023.01.24 |
Chapter 03 기초 프로그램 만들기 #4, 5, 6 (0) | 2023.01.21 |