Готовый перевод Learn Python The Hard Way / Трудный Путь Изучения Python: Exercise 17: More Files

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Упражнение 17: Ещё файлы

Сейчас давайте сделаем еще несколько трюков с файлами. На самом деле мы всего лишь напишем скрипт на Pyton для копирования одного файла в другой, это не сложно. Но это даст Вам несколько идей для дальнейшей работы с файлами.

from sys import argv
from os.path import exists

script, from_file, to_file = argv

print "Copying from %s to %s" % (from_file, to_file)

# Вместо двух строк тут можно написать одну. Как?
in_file = open(from_file)
indata = in_file.read()

print "The input file is %d bytes long" % len(indata)

print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to continue, CTRL-C to abort."
raw_input()

out_file = open(to_file, 'w')
out_file.write(indata)

print "Alright, all done."

out_file.close()
in_file.close()

Вы заметили, что мы импортировали другую полезную команду - exists. Она возвращает True, если файл, имя которого передали в параметре, существует и False в противном случае. Мы будем часто использовать эту функцию во второй части книги, но здесь вы увидели, как её можно импортировать.

Использование конструкции import позволяет вам получить огромное количество готового свободного кода от лучших (как правило) программистов.

Что вы увидите после запуска
Как и прежние ваши скрипты, запускайте этот скрипт с двумя аргументами: файлом, который надо копировать, и файлом, в который надо копировать.
Я снова собираюсь использовать простой тестовый файл, который называется test.txt

$ cat test.txt
This is a test file.
$
$ python ex17.py test.txt new_file.txt
Copying from test.txt to new_file.txt
The input file is 21 bytes long
Does the output file exist? False
Ready, hit RETURN to continue, CTRL-C to abort.

Отлично, все работает.
Попробуйте запустить это на разных файлах, посмотрите что будет происходить. Будьте осторожны, не повредите важные файлы.

Предупреждение

Вы видели как с помощью команды cat я вывел содержимое файла? Подробнее об этом Вы можете узнать в приложении А.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/35742/176299

Переводчики: t0pep0, lantern, zbob, Gukoff

Настройки

Готово:

100.00% КП = 1.1