Как да проверите дали файлът е отворен или затворен в Python

How Check File Is Opened



Файлът се използва за постоянно съхраняване на данни. Работата с файл е много често срещана задача на всеки език за програмиране. В Python съществуват много вградени функции за създаване, отваряне, четене, писане и затваряне на файла. За съхраняване на данни могат да бъдат създадени два типа файлове. Това са текстови файлове и двоични файлове. Всеки файл трябва да се отвори преди четене или писане. The отворен () функцията се използва в Python за отваряне на файл. Използвайки отворен () функцията е един от начините да проверите дали даден файл е отворен или затворен. Ако отворен () функция отваря предварително отворен файл, след това IOError ще бъде генериран. Друг начин за проверка на отворен или затворен файл е да проверите стойностите на затворен свойство на обекта за обработка на файлове. Използвайки преименувай () функция е друг начин да проверите дали файлът е отворен или затворен. В този урок са показани различни начини за проверка на отваряне или затваряне на всеки файл в Python.

Създайте файл за проверка:

Можете да използвате всеки съществуващ файл или да създадете нов файл, за да тествате примерния код, показан в този урок. Нов текстов файл с име clients.txt е създаден със следното съдържание, което да се използва по -късно в следващата част на урока.







Име на имейл Имейл
01 Джони Ливър [защитен по имейл]
02 Manik Hossain [защитен имейл]
03 Neha Akter [защитен имейл]
04 Janatul Ferdous [защитен по имейл]
05 Helal Uddin [защитен по имейл]



Пример-1: Проверете дали файлът е отворен или не, като използвате IOError

IOError генерира, когато функцията open () се извика, за да отвори файл, който е бил отворен преди това. Създайте python файл със следния скрипт, за да проверите дали файлът е отворен или не, като използвате пробвай-с изключение блок. Тук всяко съществуващо име на файл ще бъде взето като вход и отворено за четене. След това функцията open () се извиква отново, за да отвори същия файл, който ще предизвика IOError и ще отпечата съобщението за грешка.



# Вземете името на файла, за да проверите
име на файл = вход(„Въведете всяко съществуващо име на файл:н')
# Отворете файла за първи път, като използвате функцията open ()
fileHandler = отворен(име на файл,'r')
# Опитайте да отворите отново същия файл
опитвам:
с отворен('име на файл','r') катофайл:
# Отпечатайте съобщението за успех
печат(„Файлът е отворен за четене.“)
# Повишаване на грешка, ако файлът е отворен преди
с изключение на IOError:
печат(„Файлът вече се отваря.“)

Изход:

Следният изход ще се появи след изпълнение на горния скрипт. Тук, clients.txt съществува в текущото местоположение и съобщението за грешка, Файлът вече се отваря, е отпечатал за IOError изключение.





Пример-2: Проверете дали файлът е затворен или не, като използвате свойството затворено.

Стойността на затворен свойството ще бъде вярно, ако някой файл бъде затворен. Създайте python файл със следния скрипт, за да проверите дали файлът е затворен или не, който съществува на текущото местоположение. Предишният примерен скрипт ще генерира грешка, ако името на файла, взето от потребителя, не съществува в текущото местоположение. Този проблем е решен в този пример. The Вие модул се използва тук за проверка на съществуването на името на файла, което ще бъде взето от потребителя. Функцията check_closed () е определила да провери дали файлът е затворен или не, която ще бъде извикана, ако файлът съществува.



# Импортирайте os модул, за да проверите съществуването на файла
внос
# Функция Drfine проверете дали файлът е затворен или не
def check_closed():
акоfileHandler.closed == False:
# Отпечатайте съобщението за успех
печат(„Файлът е отворен за четене.“)
иначе:
# Отпечатайте съобщението за грешка
печат(„Файлът е затворен“.)

# Вземете името на файла, за да проверите
име на файл = вход(„Въведете всяко съществуващо име на файл:н')
# Проверете дали файлът съществува или не
акоos.path.exists(име на файл):
# Отворете файла за четене
fileHandler = отворен(име на файл,'r')
# Извикайте функцията
check_closed()
иначе:
# Отпечатайте съобщение, ако файлът не съществува
печат('Файлът не съществува.')

Изход:

Следният изход ще се появи след изпълнение на горния скрипт. Тук, clients.txt съществува в текущото местоположение и съобщението за успех, Файлът е отворен за четене, е отпечатано, защото стойността на затвореното свойство е върната Неверно .

Пример-3: Проверете дали файлът е отворен или не, като използвате OSError

The OSError генерира, когато функцията rename () се извиква повече от веднъж за файл, който вече е отворен. Създайте python файл със следния скрипт, за да проверите дали файлът е отворен или затворен с помощта на OSError . Модулът os е използван в скрипта за проверка на съществуването на файла и преименуване на файла. Когато преименувай () функцията се извиква за втори път, OSError ще бъде генериран и персонализираното съобщение за грешка ще бъде отпечатано.

# Импортирайте os модул, за да проверите съществуването на файла
внос
# Задайте съществуващото име на файл
име на файл ='clients.txt'
# Задайте ново име на файл
ново име ='customers.txt'
# Проверете дали файлът съществува или не
акоos.path.exists(име на файл):
опитвам:
# Извикайте функцията за преименуване за първи път
os.rename(име на файл, ново име)
# Извикайте функцията за преименуване за втори път
os.rename(име на файл, ново име)
# Повишаване на грешка, ако файлът е отворен
с изключение на OSError:
печат('Файлът все още е отворен.')

иначе:
# Отпечатайте съобщение, ако файлът не съществува
печат('Файлът не съществува.')

Изход:

Следният изход ще се появи след изпълнение на горния скрипт. Тук, clients.txt съществува в текущото местоположение и съобщението за грешка, Файлът все още е отворен, е отпечатал, защото OSError изключение е генерирано, когато второто преименувай () функцията е изпълнена.

Заключение:

Когато трябва да работим с един и същ файл няколко пъти в скрипт, от съществено значение е да знаем дали файлът е отворен или затворен. По -добре е да извикате функцията close (), за да затворите файла след завършване на операцията с файла. Грешката възниква, когато файл се отвори за втори път в същия скрипт, без да го затваря. В този урок са показани различни решения на този проблем, като се използват прости примери, за да се помогне на потребителите на python.