본문 바로가기

카테고리 없음

초간단 CLI 환율 변환기 만들기: Simple CLI Currency Converter

 

 

개요:
이 글에서는 Python으로 몇 분 만에 만들 수 있는 매우 간단한 CLI 환율 변환기를 소개합니다. 이 프로젝트는 실시간 API 연동 없이 고정된 환율 정보를 사용하지만, 기본적인 Git 관리와 GitHub 업로드 경험까지 연결할 수 있습니다. 추후 실시간 환율 API를 연동하거나 다양한 통화를 추가하는 등 확장이 가능하므로, 작은 시작점으로 적합합니다.


1. 프로젝트 개요

  • 목적:
    달러(USD) 금액을 입력하면, 정해진 환율 테이블에 따라 유로(EUR), 엔(JPY), 원(KRW) 등의 통화로 변환해주는 간단한 스크립트.
  • 특징:
    • 매우 간단하고, 별도 라이브러리 의존성 없음
    • 명령줄(CLI)에서 동작
    • 추후 실시간 환율 API 연동, 통화 추가, 테스트 코드 작성 등 확장 가능
  • 기술 스택:
    • Python 3.x
    • FastAPI, Django 등 프레임워크 없이 순수 파이썬 코드
    • Git, GitHub를 통한 버전 관리 및 코드 공유

2. 코드 예시

converter.py 예시 코드:

import sys

# 간단한 환율 정보 (USD 기준 가정)
exchange_rates = {
    "EUR": 0.90,   # 예시: 1 USD -> 0.90 EUR
    "JPY": 135.0,  # 예시: 1 USD -> 135.0 JPY
    "KRW": 1300.0  # 예시: 1 USD -> 1300 KRW
}

def convert_from_usd(amount, rates):
    results = {}
    for currency, rate in rates.items():
        results[currency] = amount * rate
    return results

def main():
    # 명령줄 인자가 없는 경우 사용법 표시
    if len(sys.argv) < 2:
        print("Usage: python converter.py <amount_in_usd>")
        sys.exit(1)

    # 입력값을 float로 변환
    try:
        amount = float(sys.argv[1])
    except ValueError:
        print("Please provide a numeric amount.")
        sys.exit(1)

    # 환율 변환
    converted = convert_from_usd(amount, exchange_rates)

    # 결과 출력
    print(f"\nUSD {amount} is equivalent to:")
    for currency, value in converted.items():
        print(f" - {currency}: {value}")
    print()

if __name__ == "__main__":
    main()

README.md 예시 내용:

# Simple CLI Currency Converter

A tiny Python script to convert USD amounts into other currencies (EUR, JPY, KRW) using predefined exchange rates.

## Features

- Input: amount in USD
- Output: equivalent amount in selected currencies (EUR, JPY, KRW)
- No external dependencies, just Python!

## How to Run

1. Clone the repository:
   ```bash
   git clone https://github.com//currency-converter-cli.git
  1. Move into the project directory:
    cd currency-converter-cli
    
  2. Run the converter script:
    python converter.py 100
    
    This will show the conversion of 100 USD into EUR, JPY, and KRW.

Future Improvements

  • Fetch real-time exchange rates from an external API
  • Add more currencies
  • Implement tests (e.g., using pytest)
  • Add user-friendly CLI options (like --amount, --base-currency, or --target-currency)
------------------------------------------  
**3. 사용 방법 (로컬 실행 기준)**

1. Python이 설치되어 있는지 확인합니다. (Python 3.x)  
2. 프로젝트 클론(또는 직접 코드 복사):  
   ```bash
   git clone https://github.com//currency-converter-cli.git
   cd currency-converter-cli
  1. 스크립트 실행:출력 예:
  2. USD 50.0 is equivalent to: - EUR: 45.0 - JPY: 6750.0 - KRW: 65000.0
  3. python converter.py 50
  4. 금액을 변경하며 다양한 변환을 시도할 수 있습니다.

4. GitHub에 업로드 및 버전 관리
이미 GitHub에 업로드된 상태라면, 변경사항을 추가한 뒤:

git add .
git commit -m "Update conversion logic or documentation"
git push

명령어로 쉽게 업데이트를 반영할 수 있습니다.


5. 향후 개선 방향

  • 실시간 환율 API 연동:
    requests 라이브러리를 사용해 Open Exchange Rates나 Fixer.io 같은 API에서 실시간 환율을 가져오고, 스크립트 실행 시마다 최신 정보 반영.
  • 다양한 통화 지원:
    GBP, AUD, CAD 등 다양한 통화를 딕셔너리에 추가하거나, 옵션으로 특정 통화만 변환하도록 기능 강화.
  • CLI 옵션 파서 도입:
    argparse 모듈을 사용해 --amount, --base-currency, --target-currency 인자를 받고, 유연하게 동작하도록 개선.
  • 테스트 코드 작성:
    pytest로 간단한 단위 테스트를 작성해 코드 품질을 관리하고, GitHub Actions로 CI/CD 파이프라인 구성.

결론:
이렇게 간단한 CLI 환율 변환기는 빠르게 만들어보고, GitHub에 올려 공유할 수 있는 작은 프로젝트입니다. 규모는 작지만, 추후 다양한 기능 확장, 실시간 데이터 연동, 테스트 도입 등을 통해 충분히 성장시킬 수 있습니다. 이러한 작은 시작이 더욱 큰 프로젝트로 가는 좋은 디딤돌이 될 것입니다.