Python 프로그램에서 Unix 명령을 실행하는 방법

WBOY
풀어 주다: 2023-08-30 10:45:12
원래의
1475명이 탐색했습니다.

Python 프로그램에서 Unix 명령을 실행하는 방법

Unix는 1969년경 AT&T Bell Laboratories에서 Ken Thompson과 Dennis Ritchie가 개발한 운영 체제입니다. 다양한 작업을 수행하는 데 사용할 수 있는 흥미로운 Unix 명령이 많이 있습니다. 문제는 Python 프로그램에서 이러한 명령을 직접 사용할 수 있느냐는 것입니다. 이것이 제가 이 튜토리얼에서 보여드릴 내용입니다.

Unix 명령ls列出目录中的所有文件。如果您将 ls은 Python 스크립트에 그대로 입력되며, 프로그램을 실행하면 다음과 같은 결과를 얻게 됩니다.

으아아아

이는 Python 인터프리터가 ls를 변수로 처리하고 이를 정의(즉, 초기화)해야 하며 Unix 명령으로 처리하지 않음을 나타냅니다.

os.system()

이 문제에 대한 한 가지 해결책은 Python os 모듈에서 os.system()를 사용하는 것입니다.

문서에 언급된 대로 os.system():

서브쉘에서 명령(문자열)을 실행합니다. 이는 표준 C 함수 system()을 호출하여 수행되며 동일한 제한 사항이 있습니다.

그러면 Python에서 ls 명령을 다음과 같이 실행할 수 있습니다.

으아아아

이렇게 하면 .py 프로그램이 있는 현재 디렉터리의 파일 목록이 반환됩니다. 내 현재 디렉토리는 다음과 같습니다:

으아아아

또 다른 예를 들어보겠습니다. 현재 날짜와 시간을 반환하려면 다음과 같이 Unix 명령 date을 사용할 수 있습니다.

으아아아

저의 경우 위 스크립트를 통해 얻은 결과는 다음과 같습니다.

으아아아

전화()

os.system() 可以工作,但不推荐使用,因为它被认为有点旧且已弃用。更好的解决方案是 Python 子进程模块中的 call(args) 작동하지만 약간 오래되고 더 이상 사용되지 않는 것으로 간주되므로 권장하지 않습니다. 더 나은 해결책은 Python의 하위 프로세스 모듈에 있는 call(args) 함수입니다. 이 기능에 대한 문서에서 언급했듯이:

args에 설명된 명령을 실행합니다. 명령이 완료될 때까지 기다린 후 returncode 속성을 반환합니다.

이 방법을 사용하여 ls Unix 명령을 실행하려면 다음을 수행할 수 있습니다.

으아아아

subprocess 모듈을 사용하여 날짜를 반환하는 방법을 살펴보겠습니다. 예제를 좀 더 흥미롭게 만들어 보겠습니다.

으아아아

위의 예는 아래와 같이 check_output()를 사용하여 더욱 간단하게 실행할 수 있습니다.

으아아아

위 스크립트의 출력은 다음과 같습니다.

으아아아

위의 예는 다양한 subprocess 함수를 사용할 수 있는 유연성과 추가 작업을 위해 결과를 변수에 전달하는 방법을 보여줍니다.

결론

이 튜토리얼에서 본 것처럼 Unix 명령은 다양한 기능을 통해 Unix 명령을 사용할 때 많은 유연성을 제공하는 subprocess 모듈을 사용하여 호출하고 실행할 수 있습니다. Python 설명서에서 이 모듈과 다양한 기능에 대해 자세히 알아볼 수 있습니다.

위 내용은 Python 프로그램에서 Unix 명령을 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿