Python — файловый ввод-вывод
Предыдущая страницаСледующая страница
В этой главе рассматриваются все основные функции ввода-вывода, доступные в 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([приглашение]) функция читает одну строку из стандартного ввода и возвращает ее в виде строки (удаляя завершающую новую строку).
#!/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([приглашение]) эквивалентна функции raw_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])
Вот подробности параметров —
-
имя_файла − Аргумент имя_файла представляет собой строковое значение, содержащее имя файла, к которому вы хотите получить доступ.
-
режим_доступа − Режим_доступа определяет режим, в котором файл должен быть открыт, т. е. чтение, запись, добавление и т. д. Полный список возможных значений приведен ниже в таблице. Это необязательный параметр, режим доступа к файлу по умолчанию — чтение (r).
-
буферизация − Если значение буферизации установлено на 0, буферизация не выполняется. Если значение буферизации равно 1, буферизация строки выполняется при доступе к файлу. Если вы укажете значение буферизации как целое число больше 1, то буферизация будет выполняться с указанным размером буфера. Если отрицательное значение, размер буфера является системным по умолчанию (поведение по умолчанию).
Вот список различных режимов открытия файла —
Серийный номер | Режимы и описание |
---|---|
1 | <тд>|
2 | <тд>|
3 | <тд>|
4 | <тд>|
5 | <тд>|
6 | <тд>|
7 | <тд>|
8 | <тд>|
9 | <тд>|
10 | <тд>|
11 | <тд>|
12 | <тд>
файл Атрибуты объекта
Когда файл открыт и у вас есть один файл объект, вы можете получить различную информацию, связанную с этим файлом.
Вот список всех атрибутов, связанных с файловым объектом —
Серийный номер | Атрибут и описание |
---|---|
1 | <тд>|
2 | <тд>|
3 | <тд>|
4 | <тд>
Пример
Живая демонстрация#!/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() для файла объект сбрасывает всю незаписанную информацию и закрывает файловый объект, после чего дальнейшая запись невозможна.
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
Чтение и запись файлов
файл object предоставляет набор методов доступа, облегчающих нашу жизнь. Мы хотели бы увидеть, как использовать read() и написать() методы чтения и записи файлов.
запись() Метод
запись() Метод записывает любую строку в открытый файл. Важно отметить, что строки 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() Метод
чтение() Метод читает строку из открытого файла. Важно отметить, что строки Python могут содержать двоичные данные. помимо текстовых данных.
Синтаксис
fileObject.read([count])
Здесь переданный параметр — это количество байтов, которое нужно прочитать из открытого файла. Этот метод начинает чтение с начала файла, и если 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
Позиции в файлах
рассказать() метод сообщает вам текущую позицию в файле; другими словами, следующее чтение или запись произойдет на столько же байтов от начала файла.
seek(offset[, 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 ОС модуль предоставляет методы, помогающие выполнять операции с файлами, такие как переименование и удаление файлов.
Чтобы использовать этот модуль, вам нужно сначала импортировать его, а затем вы можете вызывать любые связанные функции.
Метод 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 также без проблем справляется с ними. ОС Модуль имеет несколько методов, помогающих создавать, удалять и изменять каталоги.
mkdir() Метод
Вы можете использовать mkdir() метод os модуль для создания каталогов в текущем каталоге. Вам необходимо предоставить аргумент этому методу, который содержит имя создаваемого каталога.
Синтаксис
os.mkdir("newdir")
Пример
Ниже приведен пример создания каталога test. в текущем каталоге —
#!/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. Они следующие —
-
Методы файлового объекта:файл Объект предоставляет функции для управления файлами.
-
Методы объекта ОС:предоставляет методы для обработки файлов и каталогов.
Python
- C Вход Выход (ввод/вывод)
- C Обработка файлов
- Ввод, вывод и импорт Python
- Файловый ввод-вывод Python
- Управление каталогами и файлами Python
- Python Проверить, существует ли файл | Как проверить, существует ли каталог в Python
- C - файловый ввод/вывод
- C — заголовочные файлы
- Файлы и потоки C++
- С# — файловый ввод-вывод