Argparse λͺ¨λ
Argparse λͺ¨λμ Cli λ₯Ό ν΅νμ¬ Python μ½λλ₯Ό μ€ννλ κ²½μ° νΉμ μ΅μ μ μ§μ νκ³ μ΅μ μ λν κ°μ μ½λ λ΄ μΈμλ‘ μ λ¬κ°λ₯νλλ‘ νλ λͺ¨λμ΄λ€.
https://docs.python.org/ko/3/library/argparse.html
argparse — λͺ λ Ήν μ΅μ , μΈμμ λΆμ λͺ λ Ήμ μν νμ — Python 3.11.0 λ¬Έμ
argparse — λͺ λ Ήν μ΅μ , μΈμμ λΆμ λͺ λ Ήμ μν νμ μμ€ μ½λ: Lib/argparse.py The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, and argparse will figur
docs.python.org
ArgParse Import(+μ€μΉ)
ArgParseμ κ²½μ° κΈ°λ³Έμ μΌλ‘ Pythonμ λ΄μ₯λμ΄ μλ λͺ¨λμ΄λ€. λ³λμ μ€μΉ κ³Όμ μμ΄ λ€μκ³Ό κ°μ μ½λλ₯Ό ν΅ν΄ import νμ¬ μ¬μ©ν μ μλ€.
import argparse
ArgParse μμ μ½λ
μ€μ argparseλ₯Ό μ¬μ©ν μμ μ½λλ λ€μκ³Ό κ°λ€.
import argparse
parser = argparse.ArgumentParser(description="μ¬μ©λ² test μ
λλ€") # Parse κ°μ²΄ μμ±
parser.add_argument('-p', type=str, help = '-p μλ
νμΈμ' ) # μ
λ ₯ λ°κ³ μ νλ μ΅μ
κ°κ³Ό μ΅μ
κ° μμ±
parser.add_argument('-o', type=int, help = '-o 3')
args = parser.parse_args() # μΈμλ€μ νμ±νμ¬ args μ μ μ₯
if __name__ =='__main__':
for i in range(args.o):
print(args.p)
μ΅μ κ°μ λ°λ₯Έ μ€ν κ²°κ³Όλ λ€μκ³Ό κ°λ€.
ArgParse μΈλΆμ μΈ μ½λ μ€λͺ
μ°μ Parserλ₯Ό μ μμ μΌλ‘ μ¬μ©νκΈ° μν΄ Parse κ°μ²΄λ₯Ό μμ±νλ€.
parser = argparse.ArgumentParser(description="μ¬μ©λ² test μ
λλ€") # Parse κ°μ²΄ μμ±
Parse κ°μ²΄λ₯Ό μμ±νλ€λ©΄ μ¬μ©νκΈ° μνλ μ΅μ μ μ§μ νκ³ μ΅μ κ°μ μλ£ν(type) κ·Έλ¦¬κ³ -h(help)λ₯Ό μ λ ₯νμ λ λνλΌ μμλ₯Ό μ λ ₯ν΄μ€λ€.
(μμ μ½λμμλ -p > "μΆλ ₯νκ³ μ νλ λ¬Έμμ΄", -o > "μΆλ ₯νκ³ μ νλ νμ)
parser.add_argument('-p', type=str, help = '-p μλ
νμΈμ' ) # μ
λ ₯ λ°κ³ μ νλ μ΅μ
κ°κ³Ό μ΅μ
κ° μμ±
parser.add_argument('-o', type=int, help = '-o 3')
κ°μ²΄μ μ΅μ λ° μ΅μ κ°μ μΆκ°νμλ€λ©΄ μΈμλ€μ νμ±νμ¬ args λ³μμ μ μ₯νμ¬ μ€μ μ¬μ© κ°λ₯νλλ‘ ννλ₯Ό λ§λ€μ΄μ€λ€.
args = parser.parse_args() # μΈμλ€μ νμ±νμ¬ args μ μ μ₯
-p μ΅μ μ΄ μΆλ ₯νκ³ μ νλ λ¬Έμμ΄μ΄μκ³ -o μ΅μ μ΄ μΆλ ₯νκ³ μ νλ νμμμΌλ―λ‘ μ€μ κ°λ€μ΄ μ¬μ©λ κ³³μ μ§μ ν΄μ€λ€.
if __name__ =='__main__':
for i in range(args.o):
print(args.p)
μ€λ₯, μλͺ»λ μ λλ κΆκΈν μ μ΄ μμΌμλ€λ©΄ λκΈ λ¨κ²¨μ£ΌμΈμβ
'κ°λ°π» > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Python] νμ΄μ¬ 리μ€νΈ(List) (1) | 2022.11.22 |
---|---|
[Python] most likely due to a circular import μ€λ₯ (0) | 2022.11.11 |
[Crawling] ν©λ²μ μΈ Web Crawling νλ λ² (0) | 2022.11.06 |
[Python] Shadow DOM ν¬λ‘€λ§ - Selenium (0) | 2022.11.01 |
[Python] νμ΄μ¬ μ£Όμ μ²λ¦¬ νλ λ² λ° λ¨μΆν€(μ£Όμ μ²λ¦¬ μλ λ ν΄κ²°λ²) (0) | 2022.10.15 |