본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 파이썬(Python)

파이썬에서 메인함수 안쓰고 파라미터 받아오는 방법 , 예시!

by 크리드로얄워터 2024. 3. 26.
반응형
메인 함수를 사용하지 않고 파이썬 스크립트에서 직접 명령줄 인수를 처리하려면


스크립트의 전역 영역에서 직접 `sys.argv`를 사용할 수 있습니다.



이 방식은 스크립트가 간단하거나,

한 번 실행되고 끝나는 단일 작업을 수행할 때 편리합니다.

아래는 메인 함수를 사용하지 않고

명령줄 인수를 처리하는 간단한 예시입니다.


import sys

# 명령줄 인수의 길이를 확인합니다.
if len(sys.argv) > 1:
    # 첫 번째 인수(파일 이름 제외)를 출력합니다.
    print(f"Received argument: {sys.argv[1]}")
else:
    print("No arguments were received.")



이 코드는 스크립트가 실행될 때 전역 영역에서 바로 `sys.argv`를 검사하여,

사용자가 명령줄을 통해 전달한 인수를 처리합니다.


`if __name__ == "__main__":` 구문을 사용하지 않기 때문에,

스크립트가 다른 스크립트에 의해 임포트될 경우에도 이 코드가 실행됩니다.

이 점은 특히 모듈이나 라이브러리를 작성할 때 고려해야 할 중요한 부분입니다.

단, 이 방식은 코드의 재사용성과 모듈화 측면에서는 메인 함수를 사용하는 방법보다 덜 효율적일 수 있습니다.

스크립트의 기능을 다른 프로그램에서 재사용하려고 할 때,

전역 영역에 바로 작성된 코드는 임포트 시에도 실행되기 때문에, 예기치 않은 동작을 유발할 수 있습니다.

따라서, 스크립트의 규모가 커지거나, 모듈로서의 재사용성을 고려해야 하는 경우에는

`if __name__ == "__main__":` 구문을 사용하여 메인 함수를 정의하는 것이 좋습니다.



https://link.coupang.com/a/bvvBjI

Let’s Get IT 파이썬 프로그래밍 데이터 분석 프로젝트로 프로그래밍 사고력 기르기

COUPANG

www.coupang.com


* 이 외 생각해볼만한 내용들 !


Q1:Python 스크립트에서 명령줄 인수를 처리하기 위해 `argparse` 모듈을 사용하지 않고 기본적인 방법을 활용하려면 어떻게 해야 하나요?

Q2:명령줄 인수를 처리할 때 `sys.argv`의 한계는 무엇이며, 이를 극복하기 위한 방법은 무엇인가요?

Q3:Python 스크립트를 모듈로서 다른 스크립트에서 재사용할 때 발생할 수 있는 문제점과 그 해결 방안은 무엇인가요?


이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다

반응형

댓글