因此,我尝试创建一种可以搜索文件并将其打印出来的方法。
def search():
searched = input("... ")
with open(searched + ".py", "r") as my_file:
print(my_file)
search()
但控制台打印出< _io.TextIOWrapper name =' RandomPrac.py'模式=' R'编码=' UTF-8'> 这是什么意思?
答案 0 :(得分:3)
您打印my_file
变量,其类型为_io.TextIOWrapper
。你真正需要的是
print(my_file.read())
答案 1 :(得分:3)
正如Ali Yilmaz's answer已经很好地解释的那样,您正在打印文件对象,而不是该文件的内容。
对于较小的文件,只需read()
文件即可将内容作为字符串获取,并打印出来,如同他的回答一样。而且,由于您正在搜索*.py
文件,因此您几乎肯定会有小文件。
但是如果文件可能是巨大的,那么最好循环它并在阅读时打印每一行:
for line in my_file:
print(line, end='')
或者,如果你想更简洁但可能太聪明:
print(*my_file, sep='')