본문 바로가기

flexibility2

Python 왜 사람들은 파이썬 스크립트의 첫번째 줄에 "#!/usr/bin/env python"을 작성하는 걸까요?, Why do people write "#!/usr/bin/env python" on the first line of a Python script? 질문 나는 이것들을 Python 파일의 맨 위에서 본다: #!/usr/bin/env python #!/usr/bin/env python3 그 줄 없이도 파일이 같이 실행되는 것 같다. 답변 여러 버전의 Python이 설치되어 있다면, /usr/bin/env는 사용되는 인터프리터가 환경의 $PATH에서 첫 번째 것인지 확인합니다. 대안은 #!/usr/bin/python과 같은 것을 하드 코딩하는 것입니다. 그것은 괜찮지만 덜 유연합니다. Unix에서 해석되는 실행 가능한 파일은 첫 번째 줄의 시작에 #!가 있고 이어서 인터프리터(및 필요한 모든 플래그)가 있으면 사용할 인터프리터를 나타낼 수 있습니다. 다른 플랫폼에 대해 이야기하고 있다면, 물론이겠지만, 이 규칙은 적용되지 않습니다(하지만 그 "sheba.. 2023. 5. 25.
Python 프로그램을 실행하거나 시스템 명령을 호출하는 방법은 무엇인가요?, How do I execute a program or call a system command? 질문 프로그램을 실행하거나 시스템 명령을 호출하는 방법은 무엇인가요? Python에서 쉘 또는 명령 프롬프트에 입력한 것처럼 외부 명령을 호출하는 방법은 무엇인가요? 답변 subprocess 모듈을 사용합니다. 이 모듈은 표준 라이브러리에 포함되어 있습니다: import subprocess # 간단한 명령어의 경우 subprocess.run(["ls", "-l"]) # 복잡한 명령어의 경우, 많은 인수를 사용하는 경우, 문자열 + `shell=True`을 사용합니다: cmd_str = "ls -l /tmp | awk '{print $3,$9}' | grep root" subprocess.run(cmd_str, shell=True) subprocess.run은 os.system보다 더 유연합니다. (std.. 2023. 5. 4.