Доброгодин Евгений Санкт-Петербургский Государственный Университет Математико – Механический Факультет 222 группа. ВВОД/ВЫВОД 4.10.2010.

Презентация:



Advertisements
Похожие презентации
Глава 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Логический и физический файлы Типы файловой переменной Общие процедуры работы с файлами Текстовые файлы.
Advertisements

Файлы - именованная область внешней памяти ЭВМ, хранящая совокупность данных. Файл.
Лабораторная работа 8. Файлы. Задание на лабораторную работу Добавить к программе из лабораторной работы 7 следующие действия: сохранение информации в.
Текстовые файлы в VBA. Чтобы начать работу с файлом, его необходимо открыть: Open For As # Имя файла – строка, указывающая полный путь к файлу Режим –
Введение в Паскаль. ввод Для ввода чисел используется оператор read или readln. Вводимые числа должны отделяться друг от друга пробелом или нажатием клавиши.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Лекция 11 Файлы. Точного определения файла не существует. Файлом может быть: Объект файловой системы (файлы, папки и т.д.) Устройство ввода/вывода (клавиатура,
Файл это поименованная область диска. Чтобы записать информацию в файл надо проделать следующие операции 1.Открыть файл 2.Вывести данные в файл 3.Закрыть.
Нетипизированный файл рассматривается в Паскале как совокупность символов или байтов. Выбор char или byte не играет никакой роли, важен лишь объем занимаемых.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
Понятие оператора и программы 11 класс. Программирование.
Лабораторная работа 7. Работа с динамической памятью, строками и файлами.
Потоки (файлы) Функции и типы для работы с потоками в стиле С описаны в модуле stdio.h. В отличие от Паскаля в С с потоком не связан тип данных. Поток.
Строки, Списки, Кортежи.. Строки (string) Строка-это последовательность букв Для обозначения строки используются одинарные или двойные кавычки. Для длинных.
Составные типы данных Лекция 8-9. Ломаско Павел Сергеевич9 августа 2012 г.
Общие принципы работы с файлами в Turbo Pascal. Определение. Файлом называется область памяти жесткого диска, имеющая свое имя. Виды файлов типизированные.
Транксрипт:

Доброгодин Евгений Санкт-Петербургский Государственный Университет Математико – Механический Факультет 222 группа. ВВОД/ВЫВОД

Форматированный ввод/вывод Форматированный ввод/вывод – совокупность операций, обеспечивающая ввод/вывод переменных с применением определенного формата ввода/вывода.

Способы форматированного ввода/вывода 1) print – печатает переменные и кортежи. (вывод в удобном формате) 2) str() – преобразовывает значение любого типа в строку. (для вывода аргументов инструкцией print) 3)repr() - для получения строкового представления. ( для вывода значений выражений в интерактивном режиме)

Примеры: 1) s = hello\nworld print s #hello #world 2) s = hello\nworld print repr(s) #hello\nworld 3) x = 0.1 print repr(x) # ) y = 40*40 l = [x,y] print repr(l) #[0.00…01, 1600]

О выводе. В Python используется динамическая типизация: название переменной не несет данных о типе. Можно узнать тип с помощью функции type().

Пример: s = hello l = [1,2] t = (1,two) print type(s), type(l), type(t), #

Ввод. Данные можно задавать вручную в любом месте и использовать их в дальнейшем. Для ввода с клавиатуры используется функция raw_input(). Она выводит на экран приглашение и ожидает ввода пользователя.

Пример: x = raw_input(What is your name?) print Your name is, x a = abs(int(raw_input(Insert value a:) print Absolute value a =, a

Еще о выводе: Функции модуля string: string.rjust(), string.ljust(), string.center() Эти функции принимают 2 параметра: -Сама строка. -Количество символов зарезервированных под строку. Если они длиннее, то выведется вся, чтобы обрезать string.rjust(s,n)[0:n].

Пример: 1) import string for x in xrange (1,5): print string.rjust(str(x*x),2), string.rjust(str(x*x*x), 3)

Пример: 2) import string s = Beautiful is better than ugly print string.ljust(s,len(s))[3:6] #uti

Еще о выводе: Для этой же цели можно использовать print со строкой формата. Пример: for x in xrange (1,5): print %-2d %-3d % (x*x, x*x*x) #тоже самое что было, только выравнивание по левому краю.

Строка форматирования: Число после % определяет число символов для выравнивания, а спецификатор обозначает тип: 1)%d – целое число; 2)%f – число с точкой; 3)%s – строка; 4)%c –символ; 5)%e – число с мантиссой.

Функция zfill: string.zfill(строка, ширина_поля) Пример: import string print string.zfill(12,5) #00012 print string.zfill(-3.14,7) #

Аналог zfill: % ширина_поля, число_знаков_после_точки Пример: import math print Пи примерно равно %5.3f % math.pi #Пи примерно равно 3.142

Еще о выводе: Если в строке нужно вывести несколько значений, в качестве правого операнда используется кортеж: Пример: table = {Msk : 600, SPb : 400, Vologda : 100} for city,distance in table.items(): print %-10s == >%10d % (city,distance) #SPb == > 400 #Msk == > 600 #Vologda == > 100

И снова о выводе: Можно передавать аргументы функции print не по порядку, а по именам переменных. Пример: table = {Msk : 600, SPb : 400, Vologda : 100} print Msk:%(Msk)d; Vologda:%(Vologda)d; SPb:%(SPb)d % table #Msk:600; Vologda:100; SPb:400

Операции с файлами: open(имя,режим) – открывает файловый объект для работы. 2 параметра: 1)Строка, содержащая путь к файлу. 2)Несколько символов, обозначающих режим работы с файлом.

Режимы работы с файлами: w - для записи (если уже существует, то содержимое исчезает); r – для чтения; a – для добавления (сохр. то что было и добавляется в конец); r+ - для записи/чтения (содержимое сохр); w+ - для записи/чтения (содержимое исчезает); rb – открытие двоичного файла для чтения; wb – открытие двоичного файла для записи.

Операции с файлами: read(n) – чтение из файла, если аргумент отсутствует, то считывается все, в ином случае не более чем n байт. readline() – считывает строку файла. Возвращаемая строка всегда заканчивается символом конца строки \n, за исключением последней строки. Пустая строка представлена как \n

Операции с файлами: readlines() – считывает все содержимое файла и возвращает список строк. write(s) – записывает содержимое строки s в файл.

Операции с файлами: seek(offset[,from_what]) – перемещает указатель текущего положения путем прибавления offset к точке отсчета. Точка отсчета выбирается в зависимости от аргумента from_what: 0 – начало(по умолчанию), 1 – текущее положение, 2 – конец.

Операции с файлами: tell() – возвращает текущую позицию. сlose() – закрытие файла. При попытке использовать закрытый файл для операций чтения/записи генерируется исключение ValueError: I/O operation on closed file.

Примеры: 1) f = open(C://input.txt,r) print f.read() # This is the first line of the file. #Second line of the file. f.close() f = open('D://tmp/workfile.txt','r') for line in f: print line #This is the first line of the file. #Second line of the file. print f.readlines() # ['This is the first line of the file.\n', 'Second line of the file.'] f.close()

Примеры: 3) f = open(C://input.txt,r+) f.write( abcdef) f.seek(5) f.seek(-2,1) print f.read(1) f.close() #3

Модуль pickle: Сохранение в файл любых объектов (списки, кортежи, словари) доступно с помощью модуля pickle. Сохранение объекта х в файловый объект f: pickle.dump(x,f) Восстановление объекта из файла: x = pickle.load(f)

Случайный и Последовательный Доступ: Случайный: возможность доступа к любому элементу последовательности за одинаковое время. Время доступа к элементу О(1). Последовательный: доступ в определенной последовательности. Время доступа к элементу О(k), где k номер эл-та. Пример: диск и кассета (выбор трека и перемотка).

Случайный и Последовательный Доступ:

Содержание: Форматированный Ввод/Вывод. Чтение и Запись Файлов. Методы Объектов-файлов. Модуль Pickle. Random and Sequential Access.

Используемая литература: Г.Россум «Язык программирования Python» Wikipedia.org