关于python:查看文件是否存在并打印它

Seeing if a file exists and printing it

所以我正在尝试创建一种方法来搜索文件并打印出来。

1
2
3
4
5
def search():
    searched = input("...")
    with open(searched +".py","r") as my_file:
        print(my_file)
search()

但是控制台会打印出这是什么意思?


正如AliYilmaz的回答已经很好地解释的那样,您正在打印文件对象,而不是该文件的内容。

对于小文件,只需read()文件将内容作为字符串,并打印出来,如他的答案中所示。而且,由于您正在搜索*.py文件,所以几乎可以肯定您有一些小文件。

但是,如果文件可能很大,那么最好在阅读时循环并打印每一行:

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

或者,如果你想更简洁,但可能太聪明:

1
print(*my_file, sep='')

打印my_file变量,类型为_io.TextIOWrapper。你真正需要的是

1
print(my_file.read())