如果只给出文件名,是否有任何方法可以让 IPython 搜索您的系统路径以查找文件?
我有一个文件foo_060112.dat
位于一个文件夹中,其中包含许多在我的路径中的文件夹中唯一命名的数据文件。我希望能够在不指定完整路径的情况下简单地在此文件上调用一个load
或open
函数——这可能吗?
如果只给出文件名,是否有任何方法可以让 IPython 搜索您的系统路径以查找文件?
我有一个文件foo_060112.dat
位于一个文件夹中,其中包含许多在我的路径中的文件夹中唯一命名的数据文件。我希望能够在不指定完整路径的情况下简单地在此文件上调用一个load
或open
函数——这可能吗?
您可以编写自己的函数来搜索路径并根据您选择的模式返回一个打开的文件对象:
import sys
import os
def my_open(filename, mode):
for path in sys.path:
try:
return open(os.path.join(path, filename), mode)
except IOError:
continue
return None
例子:my_open('foo_060112.dat', 'rb')
我认为这可能会对您有所帮助:
import os,sys
path = os.sytem('locate foo_060112.dat')
print path
或者您也可以使用:
_SOURCE_FILE_PATH = '/home/admin/'
_each_folder = os.walk("%s/" %(_SOURCE_FILE_PATH))
for x in _each_folder:
print x
if x[1] == []:
for y in x[2]:
if y == 'locate foo_060112.dat'
f = open(y,'r')
data = f.read()