반응형
반응형

 

[PYTHON] ASCII 배너 생성 프로그램 (Python Code)

 

 

 

 

 

 

"""
                 __  __
    ____  __  __/ /_/ /_  ____  ____
   / __ \/ / / / __/ __ \/ __ \/ __ \
  / /_/ / /_/ / /_/ / / / /_/ / / / /
 / .___/\__, /\__/_/ /_/\____/_/ /_/
/_/    /____/

==================================================
사용된 폰트: digital
--------------------------------------------------
+-+-+-+-+-+-+
|p|y|t|h|o|n|
+-+-+-+-+-+-+


    pyfiglet 라이브러리 설치
    ASCII 배너 생성 프로그램 (Python Code)
    
    pip install pyfiglet
    
    
    파이썬에서 FIGlet 스타일의 ASCII 배너(Banner)를 생성하려면 pyfiglet 라이브러리를 사용하면 됩니다. pyfiglet은 C로 작성된 오리지널 FIGlet 프로그램의 파이썬 구현체입니다.

"""

import pyfiglet
import sys

def generate_ascii_banner(text, font_name='slant'):
    """
    주어진 텍스트와 폰트 이름으로 ASCII 배너를 생성하고 출력합니다.
    
    :param text: ASCII 아트로 변환할 문자열
    :param font_name: 사용할 pyfiglet 폰트 이름 (기본값: 'slant')
    """
    try:
        # pyfiglet Figlet 객체 생성 및 폰트 설정
        fig = pyfiglet.Figlet(font=font_name)
        
        # 텍스트를 ASCII 아트로 변환
        banner = fig.renderText(text)
        
        # 결과 출력
        print("=" * 50)
        print(f"사용된 폰트: {font_name}")
        print("-" * 50)
        print(banner)
        print("=" * 50)
        
    except pyfiglet.FigletError:
        # 존재하지 않는 폰트 이름을 입력했을 때 발생하는 오류 처리
        print(f"\n[오류] '{font_name}' 폰트는 존재하지 않습니다.")
        print("사용 가능한 폰트 목록을 확인해주세요.")
    except Exception as e:
        print(f"\n[예외 발생] 예상치 못한 오류가 발생했습니다: {e}")


# --- 메인 실행 로직 ---
if __name__ == "__main__":
    # 사용자로부터 입력 텍스트 받기
    input_text = input("ASCII 배너로 만들 텍스트를 입력하세요: ")
    
    if not input_text:
        print("입력된 텍스트가 없습니다. 프로그램을 종료합니다.")
        sys.exit()

    # (선택 사항) 다양한 폰트로 테스트
    print("\n--- 다양한 폰트로 테스트 ---")
    
    # 1. 'slant' 폰트 (기본값)
    generate_ascii_banner(input_text, 'slant')
    
    # 2. 'big' 폰트
    generate_ascii_banner(input_text, 'big')
    
    # 3. 'digital' 폰트
    generate_ascii_banner(input_text, 'digital')
    
    # 4. 'banner3-D' 폰트
    generate_ascii_banner(input_text, 'banner3-D')

    # 모든 사용 가능한 폰트 목록을 보려면 다음 코드를 사용하세요.
    # print("\n--- 사용 가능한 모든 폰트 목록 ---")
    # print(pyfiglet.Figlet().getFonts())
반응형
반응형

거스를 수 없는 힘에 따라
물질이 모이고 한데 뭉쳐져 별과 은하가
탄생했다. 별의 내부에서는 나머지 원소들이
생성되었다. 별이 소멸할 때 나온 원소들은
서로 뭉쳐져 그 밖의 모든 것이 되었고,
그중에는 우리도 있었다.


- 닐 올리버의《잠자는 죽음을 깨워 길을 물었다》중에서 -


* 우주에는
거스를 수 없는 힘이 있습니다.
아직 과학으로도 규명할 수 없는 신비로운 힘입니다.
우주의 탄생은 곧 별의 탄생이고, 별의 탄생은
곧 모든 광물질과 생명체의 탄생을 뜻합니다.
그 안에 우리도 속해 있습니다. 우리는
별에서 왔고, 별로 돌아갑니다.

반응형

'아침편지' 카테고리의 다른 글

어떤 일이 잘되지 않을 때  (0) 2022.08.24
로마 황제의 가정교사 덕분에  (0) 2022.08.23
문외한이 성공하는 이유  (0) 2022.08.22
변장한 천사  (0) 2022.08.19
현명한 사람, 현명한 삶  (0) 2022.08.18
반응형

부엌에서 음식을 만들어 본 적이 

없는 사람들은 잘 모를 것입니다.

음식을 만드는 것은 창조의 시간과도 

비슷하다는 사실 말입니다. 하다 못해 

라면 하나를 끓이더라도 거기에는 날 것들이 

불속에서 서서히 변화해 가는 과정, 그리고 

전혀 다른 맛과 형태로 바뀌어 가는 

생성의 즐거움 같은 것을 

발견할 수 있습니다. 



- 이어령의《지성에서 영성으로》중에서 - 



* 삶을 살다 보면 많은 관계 속에서

지지고 볶는 듯한 일들이 많이 생깁니다.

부엌에서 음식을 만드는 것 처럼요. 그런데 여러 

다른 재료들이 잘게 썰어지고 볶아지는 과정 속에

창조적인 의외의 요리가 만들어지듯 사람 사이의 관계도

그러합니다. 여러 다른 사람들의 감정들이 재료가 되어 

때로는 불에 익혀지듯 서로를 힘들게도 하지만 시간이 

흘러가며 그것들이 볶아지고 익혀지는 과정 속에

서로를 이해하고 용납하게 됩니다. 더욱 성숙된

새로운 관계를 만들 수 있습니다. 



.

반응형

'아침편지' 카테고리의 다른 글

철부지  (0) 2017.03.14
역사의 물줄기  (0) 2017.03.14
목이 아프다  (0) 2017.03.10
날두부  (0) 2017.03.09
진짜 경험  (0) 2017.03.08

+ Recent posts