Раздел «Язык Си».PythonFile:

Прочитать все строки с клавиатуры

import sys

for line in sys.stdin:
    print(line)

Прочитать все строки из файла

Пусть файл называется my.txt. Надо прочитать (и напечатать) из него все строки.

with open('my.txt', 'r') as f:
    for line in f:
        print(line)

Открыть файл

open (file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

Как открыть down
'x' открытие на запись, если файла не существует, иначе исключение.
'a' открытие на запись, информация добавляется в конец файла.
'w' открытие на запись, содержимое файла удаляется, если файла не существует, создается новый.
'r' открытие на чтение (является значением по умолчанию).
'+' открытие на чтение и запись
'b' открытие в двоичном режиме.
't' открытие в текстовом режиме (является значением по умолчанию).

Закрыть файл

переменная. close ()

Читать из файла

Прочитать все

f = open('tr.log', 'r')  # открыть файл tr.log на чтение
str = f.read()           # прочитать весь файл в переменную str
print str                # напечатать переменную str
f.close()                # закрыть файл

Прочитать сначала первую строку, а потом остальные

# -*- coding: utf-8 -*-
f = open('tr.log', 'r')
line = f.readline()      # отдельно читаем первую строку   
while line:
    print line
    line = f.readline()  # читаем все остальные строки
f.close()

Прочитать по строкам

# -*- coding: utf-8 -*-
f = open('tr.log', 'r')

for line in f:
    print line

f.close()

Писать в файл

python 2.7

# -*- coding: utf-8 -*-
f = open('output.dat', 'w')

print >> f, 'Hello, world!'

f.close()

python 3.x

# -*- coding: utf-8 -*-
with open('output.dat', 'w') as f:

    print ('Hello, world!', file=f)

# f.close() сделает автоматически

REFACTOR Не забывайте, когда работаете с файлом, открывать его в конструкции with .. as ..

Литература

Задачи

Задача 1. Файлы входных и выходных данных

Для проверяющей системы Ejudge тесты должны быть записаны в виде файлов входных данных 001.dat, 002.dat, 003.dat и так далее. И в виде эталона выходных данных по этим входным данным. Эталонные выходные данные пишутся в файлы 001.ans, 002.ans и т.п.

Запишем входные и выходные данные всех тестов в один файл, по которому будем генерировать эти файлы. В файл пишем данные в формате

входные данные теста 1
---
выходные данные теста 1
===
входные данные теста 2
---
выходные данные теста 2
===
входные данные теста 3
---
выходные данные теста 3
===

Написать программу, которая в аргументах командной строки получает общий тестовый файл и в той же директории, где лежит этот общий тестовый файл делает директорию tests с файлами 001.dat, 001.ans, 002.dat, 002.ans и так далее.

python gentest.py ../task1/alltest.txt

Ожидаемая структура директории task1:

task1/
  +--- alltest.txt
  +--- tests
         +---- 001.dat
         +---- 001.ans
         +---- 002.dat
         +---- 002.ans
         +---- 003.dat
         +---- 004.ans

Задача 2. Генератор паролей

Генерируем пароль, состоящий из случайных:

В консоли задаётся аргументами:

Доп.задание: Использовать только английские буковки, или же английские + русские

Пароль выводим в консоль.

Задача 3. Обзорщик жёсткого диска:

Программа показывает следующую информацию:

Аргументами командной строки задаётся:

Максимальный размер таблицы (по умолчанию — только 10 самых часто встречающихся типов файлов).

NB: Таблички с результатами выводить с помощью модуля PTable или Tabulate

-- TatyanaDerbysheva - 15 Dec 2015