Python의 OS 모듈이란 무엇이며 어떻게 사용합니까?

Python의 OS 모듈이란 무엇이며 어떻게 사용합니까?

Python의 OS 모듈은 파일 시스템, 프로세스, 스케줄러 등을 처리하기 위한 시스템별 기능에 대한 액세스를 제공합니다. 실제 문제를 처리하는 응용 프로그램을 작성하려면 Python OS 시스템을 마스터해야 합니다. 이 가이드에서는 몇 가지 핵심 개념에 대해 설명하고 Python 시스템 명령을 사용하는 방법을 보여줍니다.





파이썬 OS 시스템의 특징

OS 시스템은 기본 운영 체제와 상호 작용하는 이식 가능한 방법으로 사용됩니다. 다른 기능과 함께 파일 이름, 명령줄 인수, 환경 변수, 프로세스 매개변수 및 파일 시스템 계층에 대한 액세스를 제공합니다.





이 모듈에는 두 개의 하위 모듈인 os.sys 모듈과 os.path 모듈도 포함되어 있습니다. 다양한 작업을 수행하기 위해 OS 모듈에서 제공하는 기능을 사용할 수 있습니다. 일반적인 사용법에는 셸 명령 실행, 파일 및 디렉토리 관리, 프로세스 생성 등이 포함됩니다.





OS 모듈 시작하기

OS 모듈을 탐색하는 가장 쉬운 방법은 인터프리터를 사용하는 것입니다. 거기에 모듈을 임포트하고 소스 코드를 작성하지 않고도 시스템 기능을 사용할 수 있습니다. 하지만 이를 위해서는 Python이 설치되어 있어야 합니다. 따라서 로컬 컴퓨터에 Python을 설치하십시오.

관련된: Ubuntu에 Python을 설치하는 방법



다음을 입력하여 통역사를 시작하십시오. 파이썬 터미널 또는 명령 셸에서. 열리면 다음 명령문을 사용하여 OS 모듈을 가져옵니다.

하나의 모니터를 두 개의 가상 모니터로 분할
>>> import os

이제 Python을 포함하여 OS 모듈에서 제공하는 기능에 액세스할 수 있습니다. 체계 명령. 예를 들어 다음을 사용하여 시스템 플랫폼을 결정할 수 있습니다. 이름 명령. 아래 예제는 OS 모듈에 의해 노출된 시스템 명령을 호출하는 방법을 보여줍니다.





>>> os.name

이 기능은 특정 OS 특정 모듈이 있는지 확인하고 이를 기반으로 플랫폼을 결정합니다. 사용 우나메 자세한 정보를 얻는 기능.

>>> os.uname()

이 명령은 시스템 아키텍처, 릴리스 및 버전 정보와 함께 정확한 시스템 플랫폼을 표시합니다. 사용 getcwd 현재 작업 디렉토리를 검색하는 함수입니다.





>>> os.getcwd()

Python 시스템 명령을 사용하여 작업 디렉토리를 쉽게 변경할 수 있습니다. chdir . 새 위치를 문자열 매개변수로 전달합니다.

>>> os.chdir('/tmp')

NS mkdir OS 모듈의 기능을 사용하면 새 디렉토리를 간단하게 만들 수 있습니다. 또한 재귀 폴더를 만들 수 있습니다. 즉, Python은 리프 디렉터리의 부모인 누락된 디렉터리를 모두 만듭니다.

>>> os.mkdir('new-dir')

사용 rmdir 작업 디렉토리에서 디렉토리를 삭제하는 명령.

>>> os.rmdir('new-dir')

Python 시스템 명령의 예

OS 모듈에서 제공하는 시스템 명령을 통해 프로그래머는 쉘 명령을 실행할 수 있습니다. 명령 이름을 문자열로 정의해야 합니다. 일단 파이썬을 호출하면 체계 명령을 실행하면 새 서브쉘에서 주어진 명령을 실행합니다.

>>> cmd = 'date'
>>> os.system(cmd)

이 동일한 방법을 사용하여 다른 독립 실행형 응용 프로그램을 실행할 수 있습니다. 다음 예제는 Python 셸에서 터미널 편집기 nano를 실행합니다.

>>> cmd = 'nano'
>>> os.system(cmd)

Python OS 시스템은 실행 중인 각 명령에 대한 반환 코드도 출력합니다. POSIX 시스템은 성공적인 실행에 대해 0을 반환하고 문제를 나타내기 위해 0이 아닌 값을 반환합니다.

Python의 OS 시스템을 사용하여 원하는 모든 것을 실행할 수 있습니다. 예를 들어, 프로그램이 사용자 시스템에 있는 프로그램의 버전 정보를 읽어야 하는 경우 다음과 같이 할 수 있습니다.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

아래 예제는 이라는 새 파일을 생성하는 간단한 셸 명령을 실행합니다. 사용자.txt 로그인한 모든 사용자로 채웁니다. 많은 Python 프로그램이 이러한 작업을 수행합니다.

>>> os.system('users > test')

명령 이름을 문자열로 OS 시스템에 전달하고 있습니다. 모든 유형을 사용할 수 있습니다. 유용한 터미널 명령 같은 방식으로.

>>> os.system('ping -c 3 google.com')

당신은 또한 사용할 수 있습니다 하위 프로세스 Python에서 시스템 명령 실행을 호출합니다. 이는 더 빠른 런타임, 더 나은 오류 처리, 출력 구문 분석 및 파이핑 셸 명령을 포함하여 몇 가지 추가 이점을 제공합니다. Python의 공식 문서에서는 다음과 같은 이전 모듈에 대한 하위 프로세스 호출도 권장합니다. OS 시스템 그리고 os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

OS 모듈을 통한 파일 및 디렉토리 관리

Python OS 모듈을 사용하여 간단한 파일과 디렉토리를 만드는 방법을 보여주었습니다. 중첩 폴더를 생성하려면 어떻게 해야 합니까? OS 시스템은 또한 우리 프로그래머를 위해 이것을 처리합니다. 예를 들어 아래 스니펫은 폴더를 생성합니다. $HOME/test/root/api . 또한 사용할 수 없는 경우 필요한 상위 디렉터리를 만듭니다.

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

먼저 다음을 사용하여 홈 디렉토리를 검색했습니다. ~에 대한 그런 다음 다음을 통해 폴더 이름을 결합했습니다. os.path.join . print 문은 폴더 이름을 표시하고, 메이크디어 생성합니다.

다음을 사용하여 새 디렉토리를 볼 수 있습니다. 목록 디렉토리 OS 모듈의 방법.

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

다음을 사용하여 api 디렉토리의 이름을 쉽게 바꿀 수 있습니다. 이름을 바꾸다 OS 모듈에서 제공하는 명령. 아래 명령문은 이 api 디렉토리의 이름을 test-api로 바꿉니다.

>>> os.rename('api', 'test-api')

사용 이스파일 그리고 이름 프로그램이 특정 파일이나 디렉토리의 유효성을 검사해야 하는 경우 OS의 기능.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

Python의 OS 모듈을 사용하면 개발자가 파일 확장자와 함께 파일 및 폴더 이름을 추출할 수도 있습니다. 아래 스니펫은 os.path.split 그리고 os.path.splitext 이와 관련하여.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

아래 코드를 사용하여 파일 이름에서 .txt 또는 .mp3와 같은 확장자를 추출하십시오.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

Python OS 시스템의 기타 사용

OS 모듈은 사용자 프로세스 및 작업 스케줄러와 같은 것을 조작하기 위한 많은 추가 기능을 제공합니다. 예를 들어 다음을 사용하여 현재 프로세스의 UID(사용자 ID)를 빠르게 얻을 수 있습니다. 목격 기능.

>>> os.getuid()
>>> os.getgid()

NS getgid 함수는 실행 중인 프로세스의 그룹 ID를 반환합니다. 사용하다 getpid PID(프로세스 ID) 및 getppid 부모 프로세스 ID를 얻으려면

>>> os.getpid()
>>> os.getppid()

또한 OS 모듈을 사용하여 Python 프로그램에서 파일 및 디렉토리의 권한을 변경할 수 있습니다. 사용 chmod 이 작업을 수행하는 OS의 기능입니다.

>>> os.chmod('file1.txt', 0o444)

이 명령은 권한을 변경합니다. 파일1.txt 에게 0444 . 사용하다 0o444 대신에 0444 명령문이 Python의 두 주요 버전에서 호환되는지 확인합니다.

Python OS 시스템의 힘 활용

Python의 OS 모듈은 기본 운영 체제와 상호 작용하는 데 필요한 모든 것을 제공합니다. 진정한 크로스 플랫폼 프로그램을 작성하려면 OS 시스템에 대한 명확한 이해가 필요합니다. 시작하는 데 도움이 되도록 이 모듈에서 제공하는 몇 가지 핵심 기능을 다루었습니다. 자신의 속도로 시도하고 수정하는 것을 잊지 마십시오.

공유하다 공유하다 트위터 이메일 Python에서 튜플을 만들고 사용하는 방법

Python 코딩을 한 단계 업그레이드할 준비가 되셨습니까? 이제 튜플을 만들고 사용하는 방법을 이해할 시간입니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 파이썬
저자 소개 루바이앗 호세인(39개 기사 게재)

Rubiat는 오픈 소스에 대한 강한 열정을 가진 CS 졸업생입니다. 그는 유닉스 베테랑일 뿐만 아니라 네트워크 보안, 암호화 및 함수형 프로그래밍에도 관심이 있습니다. 그는 중고 서적의 열렬한 수집가이며 클래식 록에 대한 끝없는 동경을 가지고 있습니다.

Rubaiat Hossain이 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.