使用NumPy加载大浮点数组文本文件报错,小文件正常的原因咨询
NumPy loadtxt加载文件报错的原因及解决办法
我来帮你分析一下这个问题——你遇到的报错根本不是因为文件大小,而是路径里的转义字符搞的鬼!
先看你给出的错误信息最后一行:
ain2007.txt not found.phrodite data\APHRO\outfile
是不是觉得这个路径特别奇怪?明明你写的是完整路径E:\PhD Data\Aphrodite data\APHRO\outfile\rain2007.txt,怎么变成了这个残缺的样子?
原因是Python字符串里的反斜杠\是转义字符,比如\r会被自动解析成回车符。你的路径里\rain2007.txt的\r刚好触发了这个转义规则,导致文件名被截断成了ain2007.txt,前面的路径结构也被破坏,系统自然找不到正确的文件了。
至于为什么小文件能正常加载?大概率是你测试小文件时,它的路径里没有像\r这种会触发转义的字符(比如小文件名不是rainxxx.txt),所以路径解析完全没问题,这和文件大小没有半毛钱关系。
给你几个解决办法,任选其一就行:
- 使用原始字符串:在路径前面加个
r,让Python跳过转义字符解析:p = np.loadtxt(fname=r"E:\PhD Data\Aphrodite data\APHRO\outfile\rain2007.txt") - 把路径里的反斜杠换成正斜杠:Windows系统也支持正斜杠作为路径分隔符:
p = np.loadtxt(fname="E:/PhD Data/Aphrodite data/APHRO/outfile/rain2007.txt") - 用双反斜杠替代单个反斜杠:两个反斜杠会被解析成一个实际的反斜杠:
p = np.loadtxt(fname="E:\\PhD Data\\Aphrodite data\\APHRO\\outfile\\rain2007.txt")
内容的提问来源于stack exchange,提问作者Sohaib
相关产品推荐
相关产品推荐

