0

ファイルの名前だけが指定されている場合、IPython がシステム パスを検索してファイルを見つけるようにする方法はありますか?

foo_060112.datパス内のフォルダーで一意に名前が付けられた多くのデータ ファイルを含むフォルダーにファイルがあります。フル パスを指定せずに、このファイルに対して関数loadまたは関数を簡単に呼び出せるようにしたいのですが、可能ですか?open

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 に答える