나는 답변을 인터넷 검색하려고했지만 운이 없다.
작품 슈퍼 컴퓨터 서버를 사용해야하지만 파이썬 스크립트를 실행하려면 셸 스크립트를 통해 실행해야합니다.
예를 들어 job.sh
실행 하고 싶습니다.python_script.py
이것이 어떻게 이루어질 수 있습니까?
나는 답변을 인터넷 검색하려고했지만 운이 없다.
작품 슈퍼 컴퓨터 서버를 사용해야하지만 파이썬 스크립트를 실행하려면 셸 스크립트를 통해 실행해야합니다.
예를 들어 job.sh
실행 하고 싶습니다.python_script.py
이것이 어떻게 이루어질 수 있습니까?
답변:
파이썬 실행 파일이 PATH 환경 변수에 있는지 확인한 다음 스크립트에 추가하십시오.
python path/to/the/python_script.py
세부:
#!/bin/sh python python_script.py
chmod u+x job.sh
./job.sh
python --version
하여 확인할 수 있으며을 사용하여 버전을 시행 할 수 있습니다 python3 hello.py
.
source PATH/TO/VENV/bin/activate
한 다음python python_script.py
/path/to/Python: can't open file '/path/to/script': [Errno 1] Operation not permitted
bash 스크립트 내에 파이썬 코드를 인라인으로 포함시키는 방법이 있습니까?
당신이 파이썬 파일이 있다고 가정 hello.py
라는 파일을 생성 job.sh
하는 포함
#!/bin/bash
python hello.py
다음을 사용하여 실행 가능으로 표시하십시오.
$ chmod +x job.sh
그런 다음 실행
$ ./job.sh
스크립트를 수정 hello.py
하고 이것을 첫 줄로 추가하십시오
#!/usr/bin/env python
다음을 사용하여 실행 가능으로 표시하십시오.
$ chmod +x hello.py
그런 다음 실행
$ ./hello.py
#!/usr/bin/env python
. 시스템에 맞는 파이썬 버전 + 경로를 참조하고 있는지 확인하십시오!
임호, 쓰기
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 python 은 python3 을 가리키는 반면 대부분의 사람들은 python2를 가리키는 것으로 예상합니다 .
python script.py param
?
이것은 나에게 가장 효과적입니다 : 스크립트 맨 위에 이것을 추가하십시오 :
#!c:/Python27/python.exe
(C : \ Python27 \ python.exe는 내 컴퓨터에서 python.exe의 경로입니다.) 그런 다음 다음을 통해 스크립트를 실행하십시오.
chmod +x script-name.py && script-name.py
이것은 나를 위해 작동합니다 :
새 쉘 파일 작업을 작성하십시오. 그럼 가정 해 봅시다 :
touch job.sh
및 실행 파이썬 스크립트에 명령을 추가 (당신은 심지어 파이썬에 명령 줄 인수를 추가 할 수 있습니다, 나는 보통 내 명령 줄 인수를 미리 정의).
chmod +x job.sh
내부 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"
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 python_file.py
평범하고 단순하게 사용할 수 있습니다 . 다음으로 >> 는이 .py 파일의 출력을 testpy-output.txt 파일에 인쇄하여 저장합니다.다른 게시물은 모든 것을 말하기 때문에 (그리고 나는이 게시물을 우연히 발견하여 다음을 찾습니다).
다른 파이썬 스크립트에서 파이썬 스크립트를 실행하는 방법은 다음과 같습니다.
파이썬 2 :
execfile("somefile.py", global_vars, local_vars)
파이썬 3 :
with open("somefile.py") as f:
code = compile(f.read(), "somefile.py", 'exec')
exec(code, global_vars, local_vars)
다른 것을 제공하여 인수를 제공 할 수 있습니다 sys.argv
python python_script.py
쉘 스크립트 를 넣으려고 했습니까 ?