Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сгп.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
76.85 Кб
Скачать

39.Работа с файлами в Python Mobile, объект File, примеры использования.

Объект File

В Python, файлы считываются и записываются через объект File. Создание объекта File открывает файл, либо для чтения или записи.

Объект File предоставляет различные функции для доступа к данным в открытом файле. Объект File включает в себя курсора, который указывает на определенное место файла. Каждый раз, когда вы читаете или записываете данных в файл, курсор перемещается соответственно.

Концептуально, курсор в объекте File работает так же, курсор в текстовом редакторе.

Пример. Вот простой пример, который открывает файл, записывает строку его и читает строки из файла. После того как вы выполнили скрипт вы должны увидеть новый файл C: \ Python \ test.txt, на вашем мобильном устройстве.

>>>import os

>>>f = file(u"c:\\python\\test.txt", "w+")# файл открыт на запись, если #до этого файл не существовал, он будет создан для #записи

>>>print >> f, "Hello!!!" #запись в файл текста Hello!!!

>>>f.seek(0) #перевод курсора в начало файла

>>>print "File says:", f.read()

>>>f.close()

Первая строка открывает файл. Имя файла должно быть указано в виде строки Unicode.

Обратите внимание, что поскольку знак «\» является управляющим символом Python, то в рассматриваемой инструкции он должен быть удвоен.

Самый простой способ, чтобы написать что-нибудь в файл, это использовать оператор печати «>>».

print >> f, "Hello!!!"

Оператор печати всегда выполняет перевод на новую строку. Если вы хотите избежать этого, можно использовать функцию Write () объекта File. В приведенном выше примере, мы могли бы написать:

f.write("Hello!!!")

Чтобы прочитать созданный файл, файл курсор должен быть повторно вернуться к началу. Функция seek() выполняет эту работу. Значение "0" указывает, что курсор перепозиционируется.

40.Чтение и запись текста в Python Mobile, примеры. Чтение и запись текста

Если вам необходимо прочитать только одну строку из файла можно воспользоваться функцией read(). Одного ее вызова будет достаточно, так как он читает весь файл сразу.

Но что, если вам необходимо прочитать список строк вместо этого?

Пример ниже показывает, как это сделать. Этот сценарий при выполнении должен распечатать содержимое списка test_list.

>>>def save_list(filename, list):

... f = file(filename, "w") # файл открыт на запись

... for item in list: # пока значения переменной item принадлежат #списку list выполнять заполнение ими файла f

... print >> f, item

... f.close()

>>>def load_list(filename):

... f = file(filename, "r")# файл открыт на чтение

... lst = [] # создаем пустой список

... for line in f:

... lst.append(line.strip()) # заполняем пустой список lst #считывая построчно содержимое файла, функция #append()добавляет элемент считанное в конец списка

... f.close()

... return lst

>>>test_list = ["first line", "second line", "that's all"]# определяем список

>>>save_list(u"c:\\python\\test.txt", test_list)

>>>print load_list(u"c:\\python\\test.txt")

["first line", "second line", "that's all"]

>>>

Список, считанный из файла идентичен первоначальному списку test_list.

Пользовательская функция save_list() записывает каждый элемент данного списка (ее аргумент list) в файл.

Функция load_list() читает содержимое файла, чтение линии в момент времени в цикле, и добавляет каждую строку в списке lst.

Обратите внимание, что мы используем функцию strip() для удаления идущих в начале и в конце символов пропуска из строк, которые считываются из файла. Функция strip() работает так:

>>> text = ‘        string        ’

>>> text.strip()

‘string‘

>>>