logo

예제가 포함된 Python의 OS 모듈

그만큼 Python의 OS 모듈 운영체제와 상호작용하는 기능을 제공합니다. OS는 Python의 표준 유틸리티 모듈에 속합니다. 이 모듈은 운영 체제 종속 기능을 사용하는 이식 가능한 방법을 제공합니다.

그만큼 *os* 및 *os.path* 모듈에는 파일 시스템과 상호 작용하는 많은 기능이 포함되어 있습니다.

Python-OS-모듈 기능

여기서는 Python os 모듈의 몇 가지 중요한 기능에 대해 설명합니다.



  • 현재 작업 디렉토리 처리
  • 디렉토리 생성
  • Python으로 파일 및 디렉터리 나열
  • Python을 사용하여 디렉터리 또는 파일 삭제

현재 작업 디렉토리 처리

고려하다 현재 작업 디렉토리(CWD) Python이 작동하는 폴더로. 파일이 이름으로만 호출될 때마다 Python은 파일이 CWD에서 시작한다고 가정합니다. 이는 파일이 Python의 CWD에 있는 경우에만 이름 전용 참조가 성공한다는 의미입니다.

메모: Python 스크립트가 실행되는 폴더를 현재 디렉터리라고 합니다. 이는 Python 스크립트가 있는 경로가 아닙니다.

현재 작업 디렉터리 가져오기

현재 작업 디렉토리의 위치를 ​​얻으려면 os.getcwd() 사용.

예: 이 코드는 ' os'> Python 스크립트의 현재 작업 디렉터리(CWD)를 가져오고 인쇄하는 모듈입니다. 다음을 사용하여 CWD를 검색합니다. ' os.getcwd()'> 그런 다음 콘솔에 인쇄합니다.

파이썬
import os cwd = os.getcwd() print('Current working directory:', cwd)>

산출:

Current working directory: /home/nikhil/Desktop/gfg>

현재 작업 디렉터리 변경

현재 작업 디렉터리를 변경하려면(CWD) os.chdir() 방법이 사용됩니다. 이 방법은 CWD를 지정된 경로로 변경합니다. 새 디렉터리 경로로 단일 인수만 사용합니다.

메모: 현재 작업 디렉터리는 Python 스크립트가 작동 중인 폴더입니다.

예: 코드는 현재 작업 디렉터리(CWD)를 두 번 확인하고 표시합니다. 다음을 사용하여 디렉터리를 한 수준 위로 변경하기 전후입니다. os.chdir('../')> . Python에서 현재 작업 디렉터리로 작업하는 방법에 대한 간단한 예를 제공합니다.

파이썬
import os def current_path(): print('Current working directory before') print(os.getcwd()) print() current_path() os.chdir('../') current_path()>

산출:

Current working directory before C:UsersNikhil AggarwalDesktopgfg Current working directory after C:UsersNikhil AggarwalDesktop>

디렉토리 생성

OS 모듈에서는 디렉터리를 생성하는 데 사용할 수 있는 다양한 방법이 있습니다. 이것들은 -

  • os.mkdir()
  • os.makedirs()

os.mkdir() 사용

사용하여 os.mkdir() Python의 메서드는 지정된 숫자 모드를 사용하여 path라는 디렉터리를 만드는 데 사용됩니다. 이 메서드는 생성할 디렉터리가 이미 존재하는 경우 FileExistsError를 발생시킵니다.

예: 이 코드는 두 개의 디렉터리를 생성합니다. techcodeview.com D:/Pycharm 프로젝트/ 디렉토리와 괴짜 D:/Pycharm 프로젝트 예배 규칙서.

  • 첫 번째 디렉토리는 다음을 사용하여 생성됩니다.os.mkdir()>모드를 지정하지 않고 메서드를 사용합니다.
  • 두 번째 디렉터리는 동일한 방법을 사용하여 생성되지만 특정 모드는 ( 0o666> ) 읽기 및 쓰기 권한을 부여하는 기능이 제공됩니다.
  • 그런 다음 코드는 디렉터리가 생성되었음을 나타내는 메시지를 인쇄합니다.
파이썬
import os directory = 'techcodeview.com' parent_dir = 'D:/Pycharm projects/' path = os.path.join(parent_dir, directory) os.mkdir(path) print('Directory '% s' created' % directory) directory = 'Geeks' parent_dir = 'D:/Pycharm projects' mode = 0o666 path = os.path.join(parent_dir, directory) os.mkdir(path, mode) print('Directory '% s' created' % directory)>

산출:

Directory 'techcodeview.com' created Directory 'Geeks' created>

os.makedirs() 사용하기

os.makedirs() Python의 메소드는 재귀적으로 디렉토리를 생성하는 데 사용됩니다. 이는 리프 디렉터리를 만드는 동안 중간 수준 디렉터리가 누락된 경우 os.makedirs() 메서드가 이를 모두 생성한다는 의미입니다.

예: 이 코드는 두 개의 디렉터리를 생성합니다. 니힐 그리고 , 다른 상위 디렉토리 내. 그것은os.makedirs>존재하지 않는 경우 상위 디렉토리가 생성되는지 확인하는 기능입니다.

또한 다음에 대한 권한을 설정합니다. 예배 규칙서. 코드는 이러한 디렉터리 생성을 확인하는 메시지를 인쇄합니다.

파이썬
import os directory = 'Nikhil' parent_dir = 'D:/Pycharm projects/GeeksForGeeks/Authors' path = os.path.join(parent_dir, directory) os.makedirs(path) print('Directory '% s' created' % directory) directory = 'c' parent_dir = 'D:/Pycharm projects/techcodeview.com/a/b' mode = 0o666 path = os.path.join(parent_dir, directory) os.makedirs(path, mode) print('Directory '% s' created' % directory)>

산출:

Directory 'Nikhil' created Directory 'c' created>

Python으로 파일 및 디렉터리 나열

있다 os.listdir() Python의 메서드는 지정된 디렉터리에 있는 모든 파일과 디렉터리의 목록을 가져오는 데 사용됩니다. 디렉터리를 지정하지 않으면 현재 작업 디렉터리의 파일 및 디렉터리 목록이 반환됩니다.

예: 이 코드는 루트 디렉터리의 모든 파일과 디렉터리를 나열합니다. (/) . 그것은os.listdir>지정된 경로에 있는 파일 및 디렉터리 목록을 가져온 다음 결과를 인쇄하는 함수입니다.

파이썬
import os path = '/' dir_list = os.listdir(path) print('Files and directories in '', path, '' :') print(dir_list)>

산출:

Files and directories in ' / ' : ['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr',  'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']>

Python을 사용하여 디렉터리 또는 파일 삭제

OS 모듈은 Python에서 디렉터리와 파일을 제거하는 다양한 방법을 제공합니다. 이것들은 -

  • os.remove() 사용
  • os.rmdir() 사용

os.remove() 메서드 사용

os.제거() Python의 메소드는 파일 경로를 제거하거나 삭제하는 데 사용됩니다. 이 방법은 디렉터리를 제거하거나 삭제할 수 없습니다. 지정된 경로가 디렉터리이면 메서드에 의해 OSError가 발생합니다.

예: 폴더에 포함된 파일이 다음과 같다고 가정합니다.

이 코드는 지정된 위치 D:/Pycharm projects/techcodeview.com/Authors/Nikhil/에서 file1.txt라는 파일을 제거합니다. 그것은os.remove>지정된 경로의 파일을 삭제하는 함수입니다.

파이썬
import os file = 'file1.txt' location = 'D:/Pycharm projects/techcodeview.com/Authors/Nikhil/' path = os.path.join(location, file) os.remove(path)>

산출:


os.rmdir() 사용

os.rmdir() Python의 메소드는 빈 디렉토리를 제거하거나 삭제하는 데 사용됩니다. 지정된 경로가 빈 디렉터리가 아니면 OSError가 발생합니다.

예: 디렉토리가 다음과 같다고 가정합니다.

이 코드는 다음과 같은 디렉터리를 제거하려고 시도합니다. 괴짜 에 위치한 D:/Pycharm 프로젝트/ .

그것은os.rmdir>디렉토리를 삭제하는 기능입니다. 디렉토리가 비어 있으면 제거됩니다. 파일이나 하위 디렉터리가 포함되어 있으면 오류가 발생할 수 있습니다.

파이썬
import os directory = 'Geeks' parent = 'D:/Pycharm projects/' path = os.path.join(parent, directory) os.rmdir(path)>

산출:

일반적으로 사용되는 기능

os.name 함수 사용

이 함수는 가져온 운영 체제 종속 모듈의 이름을 제공합니다. . 현재 등록된 이름은 'posix', 'nt', 'os2', 'ce', 'java' 및 'riscos'입니다.

파이썬
import os print(os.name)>

산출:

posix>

메모: 여기에서 코드를 실행하면 'posix'와 같은 다른 해석기에서 다른 출력이 제공될 수 있습니다.

os.error 함수 사용

이 모듈의 모든 기능은 OS오류 유효하지 않거나 액세스할 수 없는 파일 이름 및 경로 또는 올바른 유형을 가지고 있지만 운영 체제에서 허용되지 않는 기타 인수의 경우. os.error는 내장된 OSError 예외에 대한 별칭입니다.

이 코드는 다음과 같은 파일의 내용을 읽습니다. 'GFG.txt' . 그것은 ' 시도해 보세요…제외 ' 잠재적인 오류, 특히 ' IO오류 ' 파일을 읽는 데 문제가 있는 경우 발생할 수 있습니다.

오류가 발생하면 다음과 같은 메시지가 인쇄됩니다. 읽는 중 문제: GFG.txt.

파이썬
import os try: filename = 'GFG.txt' f = open(filename, 'rU') text = f.read() f.close() except IOError: print('Problem reading: ' + filename)>

산출:

Problem reading: GFG.txt>

os.popen() 함수 사용

이 방법은 명령과의 파이프를 엽니다. 모드가 다음인지 여부에 따라 반환 값을 읽거나 쓸 수 있습니다. 'r' 또는 'w' .
통사론:

 os.popen(command[, mode[, bufsize]])>

매개변수 mode & bufsize는 필수 매개변수가 아니며, 제공되지 않은 경우 기본 'r'이 모드로 사용됩니다.

이 코드는 다음과 같은 파일을 엽니다. 'GFG.txt' 쓰기 모드에서는 쓰기 안녕하세요 그런 다음 해당 내용을 읽고 인쇄합니다. 사용 os.popen> 권장되지 않으며 이러한 작업에는 표준 파일 작업이 사용됩니다.

파이썬
import os fd = 'GFG.txt' file = open(fd, 'w') file.write('Hello') file.close() file = open(fd, 'r') text = file.read() print(text) file = os.popen(fd, 'w') file.write('Hello')>

산출:

Hello>

메모: popen()에 대한 출력은 표시되지 않으며 파일이 직접 변경됩니다.

os.close() 함수 사용

파일 설명자 fd를 닫습니다. open()으로 연 파일은 close()로만 닫을 수 있습니다. 그러나 os.popen()을 통해 열린 파일은 close() 또는 os.close() . os.close()를 사용하여 open()으로 열린 파일을 닫으려고 하면 Python에서 TypeError가 발생합니다.

파이썬
import os fd = 'GFG.txt' file = open(fd, 'r') text = file.read() print(text) os.close(file)>

산출:

Traceback (most recent call last):  File 'C:UsersGFGDesktopGeeksForGeeksOSFile.py', line 6, in   os.close(file) TypeError: an integer is required (got type _io.TextIOWrapper)>

메모: 존재하지 않는 파일이나 권한 권한으로 인해 동일한 오류가 발생하지 않을 수 있습니다.

os.rename() 함수 사용

다음 함수를 사용하여 old.txt 파일의 이름을 new.txt로 바꿀 수 있습니다. os.이름 바꾸기() . 파일 이름은 파일이 존재하고 사용자에게 파일을 변경할 수 있는 충분한 권한이 있는 경우에만 변경됩니다.

파이썬
import os fd = 'GFG.txt' os.rename(fd,'New.txt') os.rename(fd,'New.txt')>

산출:

Traceback (most recent call last):  File 'C:UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py', line 3, in   os.rename(fd,'New.txt') FileNotFoundError: [WinError 2] The system cannot find the file specified: 'GFG.txt' ->'새.txt'>

GFG.txt라는 파일 이름이 존재하므로 os.rename()을 처음 사용할 때 파일 이름이 변경됩니다.

os.rename() 함수를 두 번째 호출하면 New.txt 파일은 존재하지만 GFG.txt는 없으므로 Python은 FileNotFoundError를 발생시킵니다.

os.remove() 함수 사용

Os 모듈을 사용하면 다음을 사용하여 시스템에서 파일을 제거할 수 있습니다. os.제거() 방법. 파일을 제거하려면 파일 이름을 매개변수로 전달해야 합니다.

파이썬
import os #importing os module. os.remove('file_name.txt') #removing the file.>

OS 모듈은 우리와 운영 체제 사이에 추상화 계층을 제공합니다.

os로 작업할 때 모듈은 항상 운영 체제에 따라 절대 경로를 지정합니다. 코드는 모든 OS에서 실행될 수 있지만 경로를 정확하게 변경해야 합니다. 존재하지 않는 파일을 제거하려고 하면 다음과 같은 오류가 발생합니다. 파일을 찾을 수 없음오류 .

os.path.exists() 함수 사용

이 메소드는 파일 이름을 매개변수로 전달하여 파일이 존재하는지 여부를 확인합니다. OS 모듈에는 더 많은 기능을 수행할 수 있는 PATH라는 하위 모듈이 있습니다.

파이썬
import os #importing os module result = os.path.exists('file_name') #giving the name of the file as a parameter. print(result)>

산출:

False>

위의 코드에서와 같이 파일이 존재하지 않으면 False가 출력됩니다. 파일이 존재하면 True가 출력됩니다.

os.path.getsize() 함수 사용

~ 안에 os.path.getsize( ) 함수를 사용하면 Python은 파일 크기를 바이트 단위로 알려줍니다. 이 방법을 사용하려면 파일 이름을 매개변수로 전달해야 합니다.

파이썬
import os #importing os module size = os.path.getsize('filename') print('Size of the file is', size,' bytes.')>

산출:

자바스크립트 하위 문자열 자르기
Size of the file is 192 bytes.>