0

如果只给出文件名,是否有任何方法可以让 IPython 搜索您的系统路径以查找文件?

我有一个文件foo_060112.dat位于一个文件夹中,其中包含许多在我的路径中的文件夹中唯一命名的数据文件。我希望能够在不指定完整路径的情况下简单地在此文件上调用一个loadopen函数——这可能吗?

4

2 回答 2

0

您可以编写自己的函数来搜索路径并根据您选择的模式返回一个打开的文件对象:

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')

于 2012-06-06T17:29:58.183 回答
-2

我认为这可能会对您有所帮助:

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()
于 2012-06-06T17:31:38.797 回答