Unix는 1969년경 AT&T Bell Laboratories에서 Ken Thompson과 Dennis Ritchie가 개발한 운영 체제입니다. 다양한 작업을 수행하는 데 사용할 수 있는 흥미로운 Unix 명령이 많이 있습니다. 문제는 Python 프로그램에서 이러한 명령을 직접 사용할 수 있느냐는 것입니다. 이것이 제가 이 튜토리얼에서 보여드릴 내용입니다.
Unix 명령ls
列出目录中的所有文件。如果您将 ls
은 Python 스크립트에 그대로 입력되며, 프로그램을 실행하면 다음과 같은 결과를 얻게 됩니다.
이는 Python 인터프리터가 ls
를 변수로 처리하고 이를 정의(즉, 초기화)해야 하며 Unix 명령으로 처리하지 않음을 나타냅니다.
이 문제에 대한 한 가지 해결책은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!