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'