Python Notebook加载无向网络txt文件open代码报错解决方法
问题诱因
Python字符串里的反斜杠\是默认转义字符,你直接把Windows本地路径写在普通单引号字符串里时,路径里的反斜杠和后面跟着的字符合并后,会被Python识别成特殊转义序列——比如\n会被当成换行符、\t会被当成制表符,根本不会被当做路径分隔符来解析,最后就会因为路径识别不对,报文件找不到、路径格式非法的错误。
正确实现方案
从下面三种写法里选一种替换你原来的代码就行:
- 方案1(最省事推荐):在路径字符串前面加个
r,把字符串标记为原始字符串,Python就不会处理里面的转义逻辑,直接按字面内容识别路径f = open(r'C:\...\com-dblp.ungraph.txt', 'r') - 方案2:把路径里所有的反斜杠都换成正斜杠
/,Python在Windows系统下也能正常识别正斜杠作为路径分隔符,不会有转义问题f = open('C:/.../com-dblp.ungraph.txt', 'r') - 方案3:给路径里每个反斜杠再加一个反斜杠做转义,也就是把单个
\写成\\,这种写法打起来麻烦,平时不怎么用f = open('C:\\...\\com-dblp.ungraph.txt', 'r')
日常写文件读取更推荐用
with上下文管理器,不用手动写f.close()关文件,会自动释放资源,不会漏关文件造成资源占用,参考写法:with open(r'C:\...\com-dblp.ungraph.txt', 'r', encoding='utf-8') as f: # 这里写读取逻辑就行,比如读无向图的边数据 lines = f.readlines()
要是改完路径写法还是报错,就去手动核对下文件实际存的位置对不对,文件名有没有写错——Windows默认会隐藏已知文件的后缀名,很容易出现你以为文件叫com-dblp.ungraph.txt,实际全名是com-dblp.ungraph.txt.txt的低级错误。
内容的提问来源于stack exchange,提问作者roger montez
相关产品推荐
相关产品推荐

