2011-12-21 7 views
0

こんにちは、私のビューでコンパイルされた.opt.phpファイルを検索しています。pythonファイルフォルダの場所とファイルをglobで取得する

現在この

for x in glob.glob(PATH_VIEWS + '*.opt.php'): 

    # Get file names 
    segment1 = x.split('/') 
    filename = segment1[-1] 
    realname = filename.split('.opt.php') 
    appfolder = segment1[-4] 
    folder = segment1[-2] 

    ''' ../../../views/users/index.opt.php 
    ['..', '..', '..', 'views', 'users', 'index.opt.php'] 
    index.opt.php 
    ['index', ''] 
    ''' 

ような何かをやってイムこれを行うには良い方法はありますか?あなたはos.path.splitを使用することができますベース名とdirnameのを取得したい場合、私は

index.opt.phpのようなファイル名とファイルは、この例ではでているフォルダが../../../views/usersユーザーに

+0

「PATH_VIEWS」とは何ですか?あなたが探しているディレクトリ名ではありませんか? – eumiro

+0

この場合の変数../../../views/私が探しているものは../../../views/[*]/filename正方形のものです。 –

+0

yup imはディレクトリ名を探しています。このユーザーにはそのユーザーはいません。 –

答えて

2

で取得したいと思います( ):

http://docs.python.org/library/os.path.html#os.path.split

ところで:ディレクトリの深さが固定されている場合のglob()のみ動作します。 unixの "find"コマンド(再帰的ディレクトリウォーク)のようなものが必要な場合は、os.walk()を使用してください。

import os, glob 
magic='.log' 
for file in glob.glob(os.path.join(mydir, '*%s' % magic)): 
    dirname, filename = os.path.split(file) 
    base=filename[:-len(magic)] # if you use this very often, it is faster to use a variable "len_magic" 
    print dirname, base 
+0

*%sはどうやってですか?あなたは私に例を挙げることができますか?私はまだ魔法の仕事をどのようにグーグルをしています: –

+1

"魔法"は単なる変数名です。私はそれを「退屈な」名前にすることもできました。私はスクリプトをログファイルでテストしました。ファイルの拡張子が異なります。ドキュメントはhttp://docs.python.org/library/os.html#os.walkにあります – guettli