Python에서 생성기가 비어 있는지 확인

Salman Mehmood 2023년6월21일
Python에서 생성기가 비어 있는지 확인

이 문서에서는 Python에서 생성기가 비어 있는지 확인하는 방법에 대해 설명합니다.

Python에서 생성기가 비어 있는지 확인

Python에서 생성기가 비어 있는지 확인하는 것은 비어 있는지 확인하기 위해 경로를 확인하는 것을 말합니다. 이를 위해서는 사전에 해당 경로를 디렉토리 또는 파일로 식별해야 하며, 이를 통해 필요한 접근 방식을 선택하여 쉽게 사용할 수 있는지 확인할 수 있습니다.

다음 스니펫은 filepathdirpath라는 두 자리 표시자 변수의 관련성을 보여줍니다. 다음 변수는 로컬 파일 및 디렉토리를 식별하는 데 사용됩니다.

dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"

위의 자리 표시자 변수는 표준 패키지 역할을 하는 Python의 os 모듈과 함께 작동할 수 있습니다. 해당 운영 체제에서 작동하는 개체, 함수 및 상수와 함께 사용할 수 있습니다.

os 모듈은 os.path로 표시될 수 있으며 기능으로 작동하는 isdir()isfile()을 포함합니다. 이러한 기능을 통해 사용자는 지정된 디렉토리와 파일을 구별할 수 있습니다.

두 함수의 작동에서 반환 값은 부울 값입니다.

다음 예를 고려하십시오.

import os

dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"

os.path.isfile(dirpath)  # False
os.path.isdir(dirpath)  # True
os.path.isfile(filepath)  # True
os.path.isdir(filepath)  # False

이 예제에서 isdir()isfile() 함수는 각각 os.path.isdiros.path.isfile로 표시됩니다. 두 함수의 작동에서 반환 값은 부울 값입니다.

이는 이러한 함수 구현의 출력이 True 또는 False로 반환되어야 함을 의미합니다. TrueFalse의 반환 값은 관련 경로가 해당 기능에 따라 파일 또는 디렉토리인지를 보여줍니다.

이 확인 후 Python 3.4 버전 이후에 pathlib라는 다른 모듈을 사용할 수 있습니다. 이 모듈을 사용하면 객체 지향 인터페이스를 통해 사용자가 파일 시스템을 쉽게 사용할 수 있습니다.

이 모듈은 os.path 모듈과 비교하여 구현 내에서 단순화를 보장합니다. 작업과 관련된 Path 클래스가 있으며 경로는 인수로 허용됩니다.

그런 다음 해당 경로에 의해 경로 개체가 반환되므로 사용자는 속성 및 메서드를 사용하여 쉽게 연결하거나 쿼리할 수 있습니다.

다음 코드 스니펫을 살펴보십시오.

from pathlib import Path

dirpath = "/mnt/f/code.books/articles/python"
filepath = "/mnt/f/code.books/articles/python/code/file_dir.py"

Path(dirpath).is_file()  # False
Path(dirpath).is_dir()  # True
Path(filepath).is_file()  # True
Path(dirpath).is_file()  # False

이 스니펫에서 Path 개체는 반환 값으로 부울 값이 있는 디렉터리 또는 파일인지 확인하기 위해 검사됩니다. dirpathfilepath 변수는 is_file()is_dir() 메소드와 연관된 Path 객체와도 관련됩니다.

이들의 구현은 출력을 True 또는 False로 반환하여 디렉터리 또는 파일을 개체로 표시합니다.

다음 단계는 생성기가 비어 있고 빈 경로나 파일을 포함할 수 있는지 확인하는 것입니다. 경로 또는 파일은 0바이트 파일로 이름을 지정할 수도 있으며 내용이나 데이터가 없는 다른 유형일 수 있습니다.

데이터 없이 메타데이터를 포함하는 파일은 빈 파일에 속하지 않습니다. 여기에는 저자가 포함된 음악 파일도 포함될 수 있습니다.

빈 파일은 macOS 및 LINUX와 같은 플랫폼에서 쉽게 만들 수 있습니다. 다음은 이를 수행할 수 있는 방법에 대한 스니펫입니다.

$ touch emptyfile

다음 스니펫은 Windows에서 이를 수행하는 방법을 보여줍니다.

$ type nul > emptyfile

이 작업을 수행한 후 비어 있지 않은 파일 또는 빈 파일이 빈 파일을 가리킬 수 있는 변수를 정의해야 합니다. 빈 파일은 0바이트일 가능성이 높지만 비어 있지 않은 파일은 크기가 1바이트입니다.

다음은 그 모습의 예입니다.

emptyfile = "/mnt/f/code.books/articles/python/emptyfile"
nonemptyfile = "/mnt/f/code.books/articles/python/onebytefile”

이를 통해 next() 함수에 선택적 매개변수를 사용할 수 있으며 이를 통해 사용자는 생성기가 비어 있는지 확인할 수 있습니다.

다음은 이에 대한 코드 스니펫입니다.

_exhausted = object()

if next(some_generator, _exhausted) is _exhausted:
    print("empty generator")

이 스니펫에서 빈 생성기는 소진된 반복자와 객체의 용도로 표시됩니다. 그런 다음 구현 내에서 if 조건이 배치되어 생성기 값이 소진된 생성기를 확인합니다.

빈 생성기의 경우 조건이 충족되고 구현 시 빈 생성기가 출력으로 반환됩니다.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

관련 문장 - Python Generator