2011-12-21 68 views
0

你好即時通訊在我的意見搜索.opt.php文件編譯。python獲取文件的文件夾位置和文件與全球

目前即時通訊做這樣的事情

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', ''] 
    ''' 

有沒有更好的方式來做到這一點?我想獲得

文件名一樣index.opt.php並且該文件是在這個例子中../../../views/users用戶

+0

什麼是PATH_VIEWS?是不是你正在尋找的目錄名稱? – eumiro

+0

在這種情況下它是一個變量../../../views/我在尋找的是../../../views/[*]/filename在廣場上的一個。 –

+0

yup im尋找目錄名稱。在這cae它的用戶。 –

回答

2

如果你想獲得基本名稱和目錄名稱可以使用os.path.split這樣(的文件夾):

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

BTW:如果目錄深度是固定的水珠()纔有效。如果你想要像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呢?和baout os.walk你能舉個例子嗎?非常感謝你,即時通訊仍然使用谷歌搜索魔術工作:) –

+1

「魔術」只是一個變量名稱。我也可以將它命名爲「無聊」。我用日誌文件測試了腳本。您的文件擴展名不同。文檔在這裏:http://docs.python.org/library/os.html#os.walk – guettli