В этой главе рассматриваются все основные функции ввода / вывода, доступные в Python. Для получения дополнительной информации, пожалуйста, обратитесь к стандартной документации Python.
Печать на экран
Простейший способ создания вывода — использовать оператор print, в котором вы можете передать ноль или более выражений, разделенных запятыми. Эта функция преобразует передаваемые выражения в строку и записывает результат в стандартный вывод следующим образом:
#!/usr/bin/python print "Python is really a great language,", "isn't it?"
Это дает следующий результат на вашем стандартном экране —
Python is really a great language, isn't it?
Чтение ввода с клавиатуры
Python предоставляет две встроенные функции для чтения строки текста из стандартного ввода, который по умолчанию идет с клавиатуры. Эти функции —
- сырой ввод
- вход
Функция raw_input
Функция raw_input ([prompt]) читает одну строку из стандартного ввода и возвращает ее в виде строки (удаляя завершающий символ новой строки).
#!/usr/bin/python str = raw_input("Enter your input: "); print "Received input is : ", str
Это предложит вам ввести любую строку, и она будет отображать ту же строку на экране. Когда я набрал «Hello Python!», Его вывод выглядит так —
Enter your input: Hello Python Received input is : Hello Python
Функция ввода
Функция input ([prompt]) эквивалентна raw_input, за исключением того, что она предполагает, что input является допустимым выражением Python, и возвращает вам оцененный результат.
#!/usr/bin/python str = input("Enter your input: "); print "Received input is : ", str
Это даст следующий результат для введенного ввода —
Enter your input: [x*5 for x in range(2,10,2)] Recieved input is : [10, 20, 30, 40]
Открытие и закрытие файлов
До сих пор вы читали и писали на стандартный ввод и вывод. Теперь мы увидим, как использовать реальные файлы данных.
Python предоставляет основные функции и методы, необходимые для работы с файлами по умолчанию. Вы можете сделать большую часть манипуляций с файлом, используя объект файла .
Открытая функция
Прежде чем вы сможете читать или писать файл, вы должны открыть его с помощью встроенной в Python функции open () . Эта функция создает объект файла , который будет использоваться для вызова других методов поддержки, связанных с ним.
Синтаксис
file object = open(file_name [, access_mode][, buffering])
Вот детали параметров —
-
file_name — аргумент file_name представляет собой строковое значение, которое содержит имя файла, к которому вы хотите получить доступ.
-
access_mode — access_mode определяет режим, в котором файл должен быть открыт, то есть чтение, запись, добавление и т. д. Полный список возможных значений приведен ниже в таблице. Это необязательный параметр, и режим доступа к файлу по умолчанию — read (r).
-
буферизация — если значение буферизации установлено в 0, буферизация не выполняется. Если значение буферизации равно 1, буферизация строки выполняется при доступе к файлу. Если вы укажете значение буферизации как целое число больше 1, то действие буферизации будет выполнено с указанным размером буфера. Если отрицательный, размер буфера является системным значением по умолчанию (поведение по умолчанию).
file_name — аргумент file_name представляет собой строковое значение, которое содержит имя файла, к которому вы хотите получить доступ.
access_mode — access_mode определяет режим, в котором файл должен быть открыт, то есть чтение, запись, добавление и т. д. Полный список возможных значений приведен ниже в таблице. Это необязательный параметр, и режим доступа к файлу по умолчанию — read (r).
буферизация — если значение буферизации установлено в 0, буферизация не выполняется. Если значение буферизации равно 1, буферизация строки выполняется при доступе к файлу. Если вы укажете значение буферизации как целое число больше 1, то действие буферизации будет выполнено с указанным размером буфера. Если отрицательный, размер буфера является системным значением по умолчанию (поведение по умолчанию).
Вот список различных режимов открытия файла —
Sr.No. | Режимы и описание |
---|---|
1 |
р Открывает файл только для чтения. Указатель файла находится в начале файла. Это режим «по умолчанию». |
2 |
Р.Б. Открывает файл для чтения только в двоичном формате. Указатель файла находится в начале файла. Это режим «по умолчанию». |
3 |
г + Открывает файл для чтения и записи. Указатель файла помещается в начале файла. |
4 |
гь + Открывает файл для чтения и записи в двоичном формате. Указатель файла помещается в начале файла. |
5 |
вес Открывает файл только для записи. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи. |
6 |
термометру Открывает файл для записи только в двоичном формате. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи. |
7 |
ш + Открывает файл для записи и чтения. Перезаписывает существующий файл, если файл существует. Если файл не существует, создает новый файл для чтения и записи. |
8 |
термометр + Открывает файл для записи и чтения в двоичном формате. Перезаписывает существующий файл, если файл существует. Если файл не существует, создает новый файл для чтения и записи. |
9 |
Открывает файл для добавления. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи. |
10 |
аб Открывает файл для добавления в двоичном формате. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи. |
11 |
а + Открывает файл для добавления и чтения. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи. |
12 |
аб + Открывает файл для добавления и чтения в двоичном формате. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи. |
р
Открывает файл только для чтения. Указатель файла находится в начале файла. Это режим «по умолчанию».
Р.Б.
Открывает файл для чтения только в двоичном формате. Указатель файла находится в начале файла. Это режим «по умолчанию».
г +
Открывает файл для чтения и записи. Указатель файла помещается в начале файла.
гь +
Открывает файл для чтения и записи в двоичном формате. Указатель файла помещается в начале файла.
вес
Открывает файл только для записи. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи.
термометру
Открывает файл для записи только в двоичном формате. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи.
ш +
Открывает файл для записи и чтения. Перезаписывает существующий файл, если файл существует. Если файл не существует, создает новый файл для чтения и записи.
термометр +
Открывает файл для записи и чтения в двоичном формате. Перезаписывает существующий файл, если файл существует. Если файл не существует, создает новый файл для чтения и записи.
Открывает файл для добавления. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи.
аб
Открывает файл для добавления в двоичном формате. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи.
а +
Открывает файл для добавления и чтения. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи.
аб +
Открывает файл для добавления и чтения в двоичном формате. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи.
Атрибуты объекта файла
Когда файл открыт и у вас есть один объект файла , вы можете получить различную информацию, связанную с этим файлом.
Вот список всех атрибутов, связанных с файловым объектом —
Sr.No. | Атрибут и описание |
---|---|
1 |
file.closed Возвращает true, если файл закрыт, иначе false. |
2 |
file.mode Возвращает режим доступа, с которым файл был открыт. |
3 |
имя файла Возвращает имя файла. |
4 |
file.softspace Возвращает false, если для печати явно требуется пространство, в противном случае — true. |
file.closed
Возвращает true, если файл закрыт, иначе false.
file.mode
Возвращает режим доступа, с которым файл был открыт.
имя файла
Возвращает имя файла.
file.softspace
Возвращает false, если для печати явно требуется пространство, в противном случае — true.
пример
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace
Это дает следующий результат —
Name of the file: foo.txt Closed or not : False Opening mode : wb Softspace flag : 0
Метод close ()
Метод close () файлового объекта сбрасывает любую неписанную информацию и закрывает файловый объект, после чего дальнейшая запись невозможна.
Python автоматически закрывает файл, когда ссылочный объект файла переназначается другому файлу. Рекомендуется использовать метод close () для закрытия файла.
Синтаксис
fileObject.close();
пример
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name # Close opend file fo.close()
Это дает следующий результат —
Name of the file: foo.txt
Чтение и запись файлов
Файловый объект предоставляет набор методов доступа, чтобы сделать нашу жизнь проще. Мы увидим, как использовать методы read () и write () для чтения и записи файлов.
Метод write ()
Метод write () записывает любую строку в открытый файл. Важно отметить, что строки Python могут содержать двоичные данные, а не только текст.
Метод write () не добавляет символ новой строки (‘\ n’) в конец строки —
Синтаксис
fileObject.write(string);
Здесь переданный параметр — это содержимое, которое будет записано в открытый файл.
пример
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") fo.write( "Python is a great language.\nYeah its great!!\n"); # Close opend file fo.close()
Вышеуказанный метод создаст файл foo.txt и запишет заданное содержимое в этот файл, и, наконец, закроет этот файл. Если вы откроете этот файл, он будет иметь следующий контент.
Python is a great language. Yeah its great!!
Метод read ()
Метод read () читает строку из открытого файла. Важно отметить, что строки Python могут иметь двоичные данные. кроме текстовых данных.
Синтаксис
fileObject.read([count]);
Здесь переданный параметр — это количество байтов, которые нужно прочитать из открытого файла. Этот метод начинает чтение с начала файла и, если счетчик отсутствует, он пытается прочитать как можно больше, возможно, до конца файла.
пример
Давайте возьмем файл foo.txt , который мы создали выше.
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10); print "Read String is : ", str # Close opend file fo.close()
Это дает следующий результат —
Read String is : Python is
Позиции файлов
Метод tell () сообщает текущую позицию в файле; другими словами, следующее чтение или запись будет происходить с таким количеством байтов от начала файла.
Метод seek (offset [, from]) изменяет текущую позицию файла. Аргумент смещения указывает количество байтов для перемещения. Аргумент from указывает ссылочную позицию, откуда байты должны быть перемещены.
Если для from установлено значение 0, это означает использование начала файла в качестве ссылочной позиции, а 1 означает использование текущей позиции в качестве ссылочной позиции, а если оно установлено на 2, то конец файла будет принят в качестве ссылочной позиции. ,
пример
Давайте возьмем файл foo.txt , который мы создали выше.
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10); print "Read String is : ", str # Check current position position = fo.tell(); print "Current file position : ", position # Reposition pointer at the beginning once again position = fo.seek(0, 0); str = fo.read(10); print "Again read String is : ", str # Close opend file fo.close()
Это дает следующий результат —
Read String is : Python is Current file position : 10 Again read String is : Python is
Переименование и удаление файлов
Модуль Python os предоставляет методы, которые помогают вам выполнять операции обработки файлов, такие как переименование и удаление файлов.
Чтобы использовать этот модуль, сначала нужно его импортировать, а затем вызывать любые связанные функции.
Метод переименования ()
Метод rename () принимает два аргумента: текущее имя файла и новое имя файла.
Синтаксис
os.rename(current_file_name, new_file_name)
пример
Ниже приведен пример для переименования существующего файла test1.txt —
#!/usr/bin/python import os # Rename a file from test1.txt to test2.txt os.rename( "test1.txt", "test2.txt" )
Метод удаления ()
Вы можете использовать метод remove () для удаления файлов, указав в качестве аргумента имя удаляемого файла.
Синтаксис
os.remove(file_name)
пример
Ниже приведен пример удаления существующего файла test2.txt —
#!/usr/bin/python import os # Delete file test2.txt os.remove("text2.txt")
Каталоги в Python
Все файлы содержатся в разных каталогах, и у Python нет проблем с этим. Модуль os имеет несколько методов, которые помогут вам создавать, удалять и изменять каталоги.
Метод mkdir ()
Вы можете использовать метод mkdir () модуля os для создания каталогов в текущем каталоге. Вы должны предоставить аргумент для этого метода, который содержит имя каталога, который будет создан.
Синтаксис
os.mkdir("newdir")
пример
Ниже приведен пример создания каталога в текущем каталоге:
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")
Метод chdir ()
Вы можете использовать метод chdir (), чтобы изменить текущий каталог. Метод chdir () принимает аргумент, который является именем каталога, который вы хотите сделать текущим каталогом.
Синтаксис
os.chdir("newdir")
пример
Ниже приведен пример для перехода в каталог / home / newdir —
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")
Метод getcwd ()
Метод getcwd () отображает текущий рабочий каталог.
Синтаксис
os.getcwd()
пример
Ниже приведен пример для предоставления текущего каталога —
#!/usr/bin/python import os # This would give location of the current directory os.getcwd()
Метод rmdir ()
Метод rmdir () удаляет каталог, который передается в качестве аргумента в методе.
Перед удалением каталога все содержимое в нем должно быть удалено.
Синтаксис
os.rmdir('dirname')
пример
Ниже приведен пример удаления каталога «/ tmp / test». Требуется дать полное имя каталога, иначе он будет искать этот каталог в текущем каталоге.
#!/usr/bin/python import os # This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )
Методы, связанные с файлами и каталогами
Существует три важных источника, которые предоставляют широкий спектр служебных методов для обработки и управления файлами и каталогами в операционных системах Windows и Unix. Они заключаются в следующем —
Методы объекта файла. Объект файла предоставляет функции для управления файлами.
Методы объекта ОС : это предоставляет методы для обработки файлов, а также каталогов.