Python에서 파일이 열렸거나 닫혔는지 확인하는 방법

How Check File Is Opened



파일은 데이터를 영구적으로 저장하는 데 사용됩니다. 파일 작업은 모든 프로그래밍 언어의 매우 일반적인 작업입니다. Python에는 파일을 만들고, 열고, 읽고, 쓰고, 닫는 많은 내장 함수가 있습니다. 데이터를 저장하기 위해 두 가지 유형의 파일을 생성할 수 있습니다. 텍스트 파일과 바이너리 파일입니다. 읽기 또는 쓰기 전에 모든 파일을 열어야 합니다. NS 열려있는() 함수는 파이썬에서 파일을 여는 데 사용됩니다. 사용 열려있는() 함수는 특정 파일이 열렸거나 닫혔는지 확인하는 한 가지 방법입니다. 만약 열려있는() 함수는 이전에 열린 파일을 연 다음 IO 오류 생성됩니다. 파일이 열렸거나 닫혔는지 확인하는 또 다른 방법은 파일의 값을 확인하는 것입니다. 닫은 파일 핸들러 객체의 속성. 사용 이름 바꾸기() 함수는 파일이 열렸는지 닫혔는지 확인하는 또 다른 방법입니다. 이 튜토리얼에서는 Python에서 파일이 열렸거나 닫혔는지 확인하는 다양한 방법을 보여줍니다.

확인을 위한 파일 생성:

기존 파일을 사용하거나 새 파일을 만들어 이 자습서에 표시된 예제 코드를 테스트할 수 있습니다. 이라는 새 텍스트 파일 클라이언트.txt 튜토리얼의 다음 부분에서 나중에 사용할 수 있도록 다음 콘텐츠로 생성되었습니다.







아이디 이름 이메일
01 조니 리버 [이메일 보호됨]
02 Manik Hossain [이메일 보호됨]
03 Neha Akter [이메일 보호됨]
04 Janatul Ferdous [이메일 보호됨]
05 헬랄 우딘 [이메일 보호]



예-1: IOError를 사용하여 파일이 열려 있는지 확인

IO 오류 이전에 열린 파일을 열기 위해 open() 함수가 호출될 때 생성됩니다. 다음 스크립트를 사용하여 Python 파일을 생성하여 다음을 사용하여 파일이 열려 있는지 확인하십시오. 시도 제외 블록. 여기에서 기존 파일 이름이 입력으로 사용되어 읽기 위해 열립니다. 다음으로, IOError를 발생시키고 오류 메시지를 출력할 동일한 파일을 열기 위해 open() 함수가 다시 호출됩니다.



# 확인할 파일 이름을 가져옵니다.
파일명 = 입력('기존 파일 이름 입력:N')
# open() 함수를 사용하여 파일을 처음으로 엽니다.
파일 핸들러 = 열기(파일 이름,'NS')
# 같은 파일을 다시 열어본다
노력하다:
열린('파일 이름','NS') 같이파일:
# 성공 메시지 출력
인쇄('읽을 수 있도록 파일이 열렸습니다.')
# 이전에 파일이 열리면 오류 발생
IOError 제외:
인쇄('파일이 이미 열렸습니다.')

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다. 여기, 클라이언트.txt 현재 위치에 존재하고 오류 메시지, 파일이 이미 열렸습니다. 에 대해 인쇄했습니다. IO 오류 예외.





예-2: closed 속성을 사용하여 파일이 닫혔는지 확인합니다.

의 가치 닫은 파일이 닫혀 있으면 속성이 true가 됩니다. 다음 스크립트로 python 파일을 생성하여 현재 위치에 있는 파일이 닫혔는지 확인합니다. 이전 예제 스크립트는 사용자로부터 가져온 파일 이름이 현재 위치에 존재하지 않는 경우 오류를 생성합니다. 이 문제는 이 예제에서 해결되었습니다. NS 모듈은 여기에서 사용자로부터 가져갈 파일 이름의 존재를 확인하는 데 사용됩니다. check_closed() 함수는 파일이 존재하는 경우 호출될 파일이 닫혔는지 여부를 확인하기 위해 정의했습니다.



# 파일의 존재 여부를 확인하기 위해 os 모듈을 가져옵니다.
수입
# Drfine 함수는 파일이 닫혔는지 확인합니다
def check_closed():
만약fileHandler.closed == 거짓:
# 성공 메시지 출력
인쇄('읽을 수 있도록 파일이 열렸습니다.')
또 다른:
# 오류 메시지 출력
인쇄('파일이 닫혔습니다.')

# 확인할 파일 이름을 가져옵니다.
파일명 = 입력('기존 파일 이름 입력:N')
# 파일이 존재하는지 확인
만약os.path.exists(파일 이름):
# 읽을 파일을 엽니다.
파일 핸들러 = 열기(파일 이름,'NS')
# 함수 호출
check_closed()
또 다른:
# 파일이 존재하지 않을 경우 메시지 출력
인쇄('파일이 없습니다.')

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다. 여기, 클라이언트.txt 현재 위치에 존재하고 성공 메시지, 파일을 읽기 위해 열었습니다. 닫힌 속성의 값이 반환되었기 때문에 인쇄되었습니다. 거짓 .

예-3: OSError를 사용하여 파일이 열렸는지 확인

NS OS오류 이미 열려 있는 파일에 대해 rename() 함수가 두 번 이상 호출될 때 생성됩니다. 다음 스크립트를 사용하여 Python 파일을 생성하여 다음을 사용하여 파일이 열렸거나 닫혔는지 확인합니다. OS오류 . os 모듈은 파일의 존재를 확인하고 파일의 이름을 바꾸기 위해 스크립트에서 사용되었습니다. 때 이름 바꾸기() 함수가 두 번째로 호출되면 OSError가 생성되고 사용자 정의 오류 메시지가 인쇄됩니다.

# 파일의 존재 여부를 확인하기 위해 os 모듈을 가져옵니다.
수입
# 기존 파일 이름 설정
파일 이름 ='클라이언트.txt'
# 새 파일 이름 설정
새 이름 ='고객.txt'
# 파일이 존재하는지 확인
만약os.path.exists(파일 이름):
노력하다:
# 처음으로 이름 바꾸기 함수를 호출합니다.
os.이름 바꾸기(파일 이름, 새 이름)
# 두 번째로 이름 바꾸기 함수를 호출합니다.
os.이름 바꾸기(파일 이름, 새 이름)
# 파일이 열리면 오류 발생
OSError 제외:
인쇄('파일이 아직 열려 있습니다.')

또 다른:
# 파일이 존재하지 않을 경우 메시지 출력
인쇄('파일이 없습니다.')

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다. 여기, 클라이언트.txt 현재 위치에 존재하고 오류 메시지, 파일이 아직 열려 있습니다. 때문에 인쇄되었습니다 OS오류 두 번째 때 예외가 생성되었습니다. 이름 바꾸기() 기능이 실행되었습니다.

결론:

스크립트에서 동일한 파일을 여러 번 작업해야 하는 경우 파일이 열려 있는지 닫혀 있는지를 아는 것이 중요합니다. 파일 작업이 완료된 후 close() 함수를 호출하여 파일을 닫는 것이 좋습니다. 파일을 닫지 않고 동일한 스크립트에서 두 번째로 파일을 열 때 오류가 발생합니다. 이 문제에 대한 다양한 솔루션이 파이썬 사용자를 돕기 위해 간단한 예제를 사용하여 이 튜토리얼에서 보여졌습니다.