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

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Упражнение 17: Больше файлов

t0pep0 13.11.13 в 19:17

0

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

lantern 04.03.14 в 14:53

1

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

t0pep0 14.11.13 в 13:40

0

from sys import argv
from os.path import exists

t0pep0 13.11.13 в 19:21

0

script, from_file, to_file = argv

t0pep0 13.11.13 в 19:21

0

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

t0pep0 13.11.13 в 19:21

0

# Мы бы могли объединить эти две строки в одну, но зачем?
in_file = open(from_file)
indata = in_file.read()

t0pep0 13.11.13 в 19:22

0

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

lantern 04.03.14 в 14:51

1

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

t0pep0 13.11.13 в 19:23

0

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

t0pep0 13.11.13 в 19:23

0

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

t0pep0 13.11.13 в 19:23

0

print "Alright, all done."

t0pep0 13.11.13 в 19:23

0

out_file.close()
in_file.close()

t0pep0 13.11.13 в 19:23

0

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

zbob 18.10.14 в 05:39

0
+1

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

zbob 18.10.14 в 05:47

0
+1

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

Gukoff 05.02.15 в 15:01

0
+1

$ 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.

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

t0pep0 13.11.13 в 19:27

0

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

t0pep0 13.11.13 в 19:24

0

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

t0pep0 13.11.13 в 19:25

0
Минутку...