М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет142/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   138   139   140   141   142   143   144   145   ...   334
Байланысты:
Изучаем Python


Глава 10 • Файлы и исключения
как требуется, надеясь на то, что Python закроет его автоматически при завершении 
блока 
with
.
После того как в программе появится объект, представляющий файл 
pi_digits .txt
, во 
второй строке программы используется метод 
read()
, который читает все содер-
жимое файла и сохраняет его в одной длинной строке в переменной 
contents
. При 
выводе значения 
contents
на экране появляется все содержимое файла
:
3.1415926535
8979323846
2643383279
Единственное различие между выводом и исходным файлом — лишняя пустая 
строка в конце вывода. Откуда она взялась? Метод 
read()
возвращает ее при чте-
нии, если достигнут конец файла. Если вы хотите удалить лишнюю пустую строку, 
включите вызов 
rstrip()
в вызов 
print()
:
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents.rstrip())
Напомним, что метод 
rstrip()
удаляет все пропуски в конце строки. Теперь вывод 
точно соответствует содержимому исходного файла:
3.1415926535
8979323846
2643383279
Пути к файлам
Если передать функции 
open()
простое имя файла, такое как 
pi_digits .txt
, Python 
ищет файл в том каталоге, в котором находится файл, выполняемый в настоящий 
момент (то есть файл программы 
.py
).
В некоторых случаях (в зависимости от того, как организованы ваши рабочие 
файлы) открываемый файл может и не находиться в одном каталоге с файлом 
программы. Например, файл программы может находиться в каталоге 
python_work

в каталоге 
python_work
создается другой каталог с именем 
text_files
для текстовых 
файлов, с которыми работает программа. И хотя папка 
text_files
находится в 
python_
work
, простая передача 
open()
имени файла из 
text_files
не подойдет, потому что 
Python произведет поиск файла в 
python_work
и на этом остановится; поиск не будет 
продолжен во вложенном каталоге 
text_files
. Чтобы открыть файлы из каталога, от-
личного от того, в котором хранится файл программы, необходимо указать 
путь
— 
то есть приказать Python искать файлы в конкретном месте файловой системы.
Так как каталог 
text_files
находится в 
python_work
, для открытия файла из 
text_files
можно воспользоваться 
относительным
путем. Относительный путь приказывает 
Python искать файлы в каталоге, который задается 
относительно
каталога, в ко-
тором находится текущий файл программы. Например, это может выглядеть так:
with open('text_files/
имя_файла
.txt') as file_object:


Чтение из файла
199
Эта строка означает, что файл 
.txt
следует искать в каталоге 
text_files
; она предпо-
лагает, что каталог 
text_files
находится в 
python_work
(так оно и есть).


Достарыңызбен бөлісу:
1   ...   138   139   140   141   142   143   144   145   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет