Python genfromtxt文件路径

Dav*_*deL 2 python numpy filepath genfromtxt

我对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]])
Run Code Online (Sandbox Code Playgroud)

使用Canopy时,相同的代码给出了IOError: data.txt not found,也没有类似的np.genfromtxt('C:\Users\Davide\Python\data.txt')作品。我为这个问题的平庸而感到抱歉,但对此我真的很疯狂。感谢帮助。

EdC*_*ica 5

您可以通过一个完全限定的路径,但这是:

np.genfromtxt('C:\Users\Davide\Python\data.txt') 
Run Code Online (Sandbox Code Playgroud)

将不起作用,因为需要转义反斜杠:

np.genfromtxt('C:\\Users\\Davide\\Python\\data.txt') 
Run Code Online (Sandbox Code Playgroud)

或者您可以使用原始字符串:

np.genfromtxt(r'C:\Users\Davide\Python\data.txt') 
Run Code Online (Sandbox Code Playgroud)

至于当前保存位置在哪里,您可以使用os.getcwd()以下命令查询:

In [269]:

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