Python文件加载函数在Jupyter Notebook深度学习项目中无输出问题
问题分析与解决方案
我帮你排查下为啥加载文件后没有输出,主要有几个关键问题需要修复:
1. 路径转义字符错误 + 函数参数未使用
你定义了filename参数但没实际用到,反而硬编码了路径——更致命的是,Python里\是转义字符,"C:\Users\Project\Flickr8k.token.txt"里的\U会被解析成Unicode转义序列,导致实际路径完全不符合预期,文件根本没被正确打开。
先把函数改成参数化的正确写法,同时修复路径问题:
# Loading a text file into memory def load_doc(filename): # 用with语句自动管理文件,避免手动close的麻烦 with open(filename, "r", encoding="utf-8") as file: text = file.read() return text
调用时要传入正确格式的路径,三种可选写法:
- 原始字符串(推荐,不用处理转义):
content = load_doc(r"C:\Users\Project\Flickr8k.token.txt") - 双反斜杠:
content = load_doc("C:\\Users\\Project\\Flickr8k.token.txt") - 跨平台正斜杠:
content = load_doc("C:/Users/Project/Flickr8k.token.txt")
2. 未主动输出内容
在Jupyter Notebook中,如果你只是执行load_doc(...),只有当这行是单元格最后一行且未赋值给变量时,才会自动显示返回值。更稳妥的方式是主动打印:
# 加载文件 content = load_doc(r"C:\Users\Project\Flickr8k.token.txt") # 打印内容 print(content) # 或者直接在单元格末尾写变量名,Jupyter会自动渲染 content
额外排查建议:添加异常提示
为了快速定位问题,可以给函数加异常处理,比如文件不存在时直接提示:
def load_doc(filename): try: with open(filename, "r", encoding="utf-8") as file: text = file.read() return text except FileNotFoundError: print(f"⚠️ 错误:文件 {filename} 未找到,请检查路径是否正确!") return None except Exception as e: print(f"⚠️ 读取文件出错:{str(e)}") return None
内容的提问来源于stack exchange,提问作者Srikanth Bhattu
相关产品推荐
相关产品推荐

