본문 바로가기

subprocess3

코드 내에서 Python 모듈을 어떻게 설치할 수 있을까요?, How can I Install a Python module within code? 질문 나는 스크립트 내에서 PyPI에서 패키지를 직접 설치해야 합니다. 어떤 모듈이나 distutils (distribute, pip, 등) 기능을 통해 pypi.install('requests')와 같은 명령을 실행하여 requests를 가상 환경에 설치할 수 있는 방법이 있을까요? 답변 스크립트에서 패키지를 설치하는 공식 권장 방법은 서브프로세스를 통해 pip의 명령 줄 인터페이스를 호출하는 것입니다. 여기에 제시된 대부분의 다른 답변은 pip에서 지원되지 않습니다. 또한 pip v10부터 모든 코드는 정확히 사용자에게 pip의 프로그래밍적 사용이 허용되지 않음을 명확히하기 위해 pip._internal으로 이동되었습니다. sys.executable을 사용하여 현재 런타임과 관련된 동일한 pip를 호.. 2023. 10. 26.
Python 바이트를 문자열로 변환하세요., Convert bytes to a string 질문 외부 프로그램의 표준 출력을 bytes 객체로 캡처했습니다: >>> from subprocess import * >>> command_stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>> >>> command_stdout b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n' 그것을 일반적인 Python 문자열로 변환하여 다음과 같이 출력하려고합니다: >>> print(command_stdout) -rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1 -rw-rw-r-- 1 .. 2023. 5. 5.
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.