Python을 통해 가변 매개변수를 사용하여 쉘 스크립트 파일을 호출하는 방법

Python을 통해 가변 매개변수를 사용하여 쉘 스크립트 파일을 호출하는 방법

Python 명령을 통해 쉘 스크립트 파일을 호출하고 있습니다. Filename1파일 이름의 실제 값을 저장하기 위해 독립형 Python 프로그램에서 만든 변수입니다. Filename여기서는 변수가 작동하지 않으므로 아래 두 번째 명령문을 실행하려면 어떻게 작성해야 합니까? 실제 파일 이름을 유지하면 두 번째 명령문을 통해 쉘 스크립트 파일이 실행됩니다.

이를 자동화해야 하는데 실제 파일 이름을 하드코딩할 수 없습니다. 따라서 두 번째 명령문의 변수에 액세스할 수 있는 기회가 있으면 좋겠습니다.

import os
os.system('sh uploadPDFContentFile.sh Filename1')

답변1

더 나은 사용하위 프로세스기준 치수.

>>> subprocess.run(["ls", "-l"])  # doesn't capture output
CompletedProcess(args=['ls', '-l'], returncode=0)

subprocess 모듈은 새로운 프로세스를 생성하고 그 결과를 검색하는 데 더 강력한 도구를 제공합니다. 이 기능보다 이 모듈을 사용하는 것이 더 좋습니다.

그러나 문자열 대체를 사용할 수 있습니다.

call_with_args = "./script2.py '%s' '%s'" % (str(arg1), str(arg2))
os.system(call_with_args)

또는 문자열체재

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'

관련 정보