[python] 쉘 스크립트 : 쉘 스크립트 내에서 파이썬 프로그램 실행

나는 답변을 인터넷 검색하려고했지만 운이 없다.

작품 슈퍼 컴퓨터 서버를 사용해야하지만 파이썬 스크립트를 실행하려면 셸 스크립트를 통해 실행해야합니다.

예를 들어 job.sh실행 하고 싶습니다.python_script.py

이것이 어떻게 이루어질 수 있습니까?



답변

파이썬 실행 파일이 PATH 환경 변수에 있는지 확인한 다음 스크립트에 추가하십시오.

python path/to/the/python_script.py

세부:

  • job.sh 파일에 이것을 넣으십시오.
#!/bin/sh
python python_script.py
  • 스크립트를 실행 가능하게하려면이 명령을 실행하십시오. chmod u+x job.sh
  • 그것을 실행 : ./job.sh

답변

방법 1-쉘 스크립트를 작성하십시오.

당신이 파이썬 파일이 있다고 가정 hello.py
라는 파일을 생성 job.sh하는 포함

#!/bin/bash
python hello.py

다음을 사용하여 실행 가능으로 표시하십시오.

$ chmod +x job.sh

그런 다음 실행

$ ./job.sh

방법 2 (더 나은)-파이썬 자체가 쉘에서 실행되도록하십시오.

스크립트를 수정 hello.py하고 이것을 첫 줄로 추가하십시오

#!/usr/bin/env python

다음을 사용하여 실행 가능으로 표시하십시오.

$ chmod +x hello.py

그런 다음 실행

$ ./hello.py


답변

임호, 쓰기

python /path/to/script.py

특히 요즘에는 매우 잘못되었습니다. 어떤 파이썬? 파이썬 2.6? 2.7? 3.0? 3.1? 대부분의 경우 파이썬 파일의 shebang 태그에 파이썬 버전을 지정해야합니다. 나는 사용하는 것이 좋습니다

#! / usr / bin / env python2 # 또는 python2.6 또는 python3 또는 python3.1

호환성을 위해.

이 경우 스크립트를 실행 가능하게하고 직접 호출하는 것이 훨씬 좋습니다.

#! / bin / bash

/path/to/script.py

이런 식으로 필요한 파이썬 버전은 하나의 파일로만 작성됩니다. 요즘 대부분의 시스템에는 python2 및 python3이 있으며 symlink pythonpython3 을 가리키는 반면 대부분의 사람들은 python2를 가리키는 것으로 예상합니다 .


답변

다음 프로그램을 다음과 같이 저장하십시오 print.py.

#!/usr/bin/python3
print('Hello World')

그런 다음 터미널에서 다음을 입력하십시오.

chmod +x print.py
./print.py


답변

이것은 나에게 가장 효과적입니다 : 스크립트 맨 위에 이것을 추가하십시오 :

#!c:/Python27/python.exe

(C : \ Python27 \ python.exe는 내 컴퓨터에서 python.exe의 경로입니다.) 그런 다음 다음을 통해 스크립트를 실행하십시오.

chmod +x script-name.py && script-name.py


답변

이것은 나를 위해 작동합니다 :

  1. 새 쉘 파일 작업을 작성하십시오. 그럼 가정 해 봅시다 :
    touch job.sh및 실행 파이썬 스크립트에 명령을 추가 (당신은 심지어 파이썬에 명령 줄 인수를 추가 할 수 있습니다, 나는 보통 내 명령 줄 인수를 미리 정의).

    chmod +x job.sh

  2. 내부 job.sh에 다음 py 파일을 추가하십시오.

    python_file.py argument1 argument2 argument3 >> testpy-output.txt && echo "Done with python_file.py"

    python_file1.py argument1 argument2 argument3 >> testpy-output.txt && echo "Done with python_file1.py"

job.sh의 출력은 다음과 같아야합니다.

Done with python_file.py

Done with python_file1.py

나는 보통 미리 정의 된 다른 인수로 여러 파이썬 파일을 실행해야 할 때 이것을 사용합니다.

참고 : 여기에 무슨 일이 일어나고 있는지 간략히 살펴보십시오.

python_file.py argument1 argument2 argument3 >> testpy-output.txt && echo "completed with python_file.py" . 

  • 여기서 쉘 스크립트는 python_file.py 파일을 실행하고 런타임 에 여러 명령 행 인수 를 파이썬 파일에 추가합니다.
  • 이것은 반드시 명령 행 인수도 전달해야한다는 것을 의미하지는 않습니다.
  • python python_file.py평범하고 단순하게 사용할 수 있습니다 . 다음으로 >> 는이 .py 파일의 출력을 testpy-output.txt 파일에 인쇄하여 저장합니다.
  • && 는 위의 실행이 완료된 후에 만 ​​실행되는 논리 연산자 이며 “python_file.py로 완료된 선택적 에코 “가 런타임에 cli / 터미널에 에코됩니다.

답변

python scriptname.py예를 들어 다음과 같이 호출 할 수 있어야합니다

# !/bin/bash

python /home/user/scriptname.py 

또한 스크립트에 실행할 권한이 있는지 확인하십시오.

을 사용하여 실행 가능하게 만들 수 있습니다 chmod u+x scriptname.py.