내가 파이썬 스크립트가 test.py
인수 / 플래그 수십를 가지고 : --flag1
, --flag2
, ..., --flagn
. 그것을 실행하기 위해 다음과 같은 명령을 수행합니다.
python test.py --flag1 value1 --flag3 value3 --flag8 value8
이 경우 똑같은 입력 줄을 로그 파일에 저장하고 싶습니다. 위의 예에서 log.txt
한 줄만 포함하는를 갖고 싶습니다 .
python test.py --flag1 value1 --flag3 value3 --flag8 value8
이 스크립트에는 수십 개의 플래그가 있고 그중 일부는 일부 값으로 기본 설정되어 있기 때문에 사용자 입력이 무엇인지에만 관심이 있고 사용자가 직접 지정하지 않는 다른 인수의 기본값에 대한 정보는 필요하지 않습니다. .
사용자가 입력 한 것과 똑같은 줄을 포함하는 이와 같은 로그 파일을 어떻게 만들 수 있습니까?
를 사용 sys.argv
하여 스크립트에 전달 된 모든 인수를 캡처 할 수 있습니다 .
Python 스크립트에 전달 된 명령 줄 인수 목록입니다.
예를 들면 :
import sys
print(sys.argv)
print(" ".join(sys.argv))
이 스크립트에 몇 가지 인수를 전달할 때, 예를 들면 다음과 같습니다.
my_script.py --foo --bar
그것은 인쇄 할 것이다
['my_script.py', '--foo', '--bar']
my_script.py --foo --bar
Python 실행 파일도 포함하려면 다음을 사용할 수 있습니다 sys.executable
.
>>> print(sys.executable)
/usr/bin/python
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다