Проверка наличия файла и его печать - PullRequest
0 голосов
/ 13 мая 2018

Поэтому я пытаюсь создать метод, который может искать файлы и распечатывать их.

def search():
    searched = input("... ")
    with open(searched + ".py", "r") as my_file:
        print(my_file)
search()

но консоль печатает <_io.TextIOWrapper name = 'RandomPrac.py' mode = 'r' encoding = 'UTF-8'> Что это значит?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Как Ответ Али Йилмаза уже хорошо объясняет, вы печатаете объект файла, а не содержимое этого файла.

Для небольших файлов, просто read() файл, чтобы получитьсодержимое в виде строки, и выведите это, как в своем ответе.И, поскольку вы ищете *.py файлов, у вас почти наверняка есть небольшие файлы.

Но если файл может быть гигантским, вероятно, лучше зациклить его и напечатать каждую строку, когда вы читаете ее:

for line in my_file:
    print(line, end='')

Или, если вы хотите быть более кратким, но, возможно, слишком умным:

print(*my_file, sep='')
0 голосов
/ 13 мая 2018

вы печатаете my_file переменную типа _io.TextIOWrapper. Что вам действительно нужно, это

print(my_file.read())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...