Python genfromtxt 文件路径

3

我在使用numpy.genfromtxt函数时遇到了一个非常基本的问题。我正在使用Enthought Canopy软件包:我应该把想要使用的file.txt文件保存在哪里,或者我应该如何告诉Python去哪里查找它?当我使用IDLE时,我只需将文件保存在预设文件夹(例如C:\Users\Davide\Python\data.txt),然后得到的结果就是:

>>> import numpy as np
>>> np.genfromtxt('data.txt')
array([[ 33.1 ,  32.6 ,  18.2 ,  17.9 ],
       [ 32.95,  32.7 ,  17.95,  17.9 ],
       [ 32.9 ,  32.6 ,  18.  ,  17.9 ],
       [ 33.  ,  32.65,  18.  ,  17.9 ],
       [ 32.95,  32.65,  18.05,  17.9 ],
       [ 33.  ,  32.6 ,  18.  ,  17.9 ],
       [ 33.05,  32.7 ,  18.  ,  17.9 ],
       [ 33.05,  32.5 ,  18.1 ,  17.9 ],
       [ 33.  ,  32.6 ,  18.05,  17.9 ],
       [ 33.  ,  32.55,  18.  ,  17.95]])

在使用 Canopy 时,相同的代码会产生 IOError: data.txt not found 的错误,甚至像 np.genfromtxt('C:\Users\Davide\Python\data.txt') 这样的代码也无法正常运行。非常抱歉这个问题很平凡,但我真的为此感到疯狂。谢谢帮忙。

1个回答

7

您可以传递一个完整的路径,但是这样会有些繁琐:

np.genfromtxt('C:\Users\Davide\Python\data.txt') 

由于反斜杠需要转义,因此 "won't work" 无法正常工作:

np.genfromtxt('C:\\Users\\Davide\\Python\\data.txt') 

或者您可以使用原始字符串:
np.genfromtxt(r'C:\Users\Davide\Python\data.txt') 

关于当前保存位置在哪里,您可以使用 os.getcwd() 进行查询:

In [269]:

import os
os.getcwd()
Out[269]:
'C:\\WinPython-64bit-3.4.3.1\\notebooks\\docs'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接