2016-01-13 26 views
0

我需要獲取一個目錄的名稱,並查看它是否與名稱字符串中的某個模式相匹配,在這種情況下[FLAC]並將其與前面的空格。然後,我會保留這個變量並重命名目錄本身。我怎樣才能在Python中做到這一點?在Python中刪除某個文件名的字符模式

這是我想對現在的代碼:

def cfn(dpath): 
    for df in os.listdir(dpath): 
     if df.endswith('[FLAC]'): 
      df.strip('[FLAC]') 
      print(df) 
+0

*「我該如何在Python中執行此操作?」 - 您可以通過編寫代碼來完成此操作。嘗試一下,然後[編輯]你的問題,告訴我們你寫的是什麼,以及你的特定問題是什麼。 –

+0

你應該嘗試想出一些示例代碼,甚至是僞代碼。人們會更容易理解你的問題並幫助你。 – Destruktor

+1

'strip'不符合你的想法。它將從字符串的兩端去除該字符串中的所有字符,數量儘可能多。所以'ACDC'.strip('[FLAC]')'返回''D'',因爲它將前面的'AC'和'C'結束。當然,這些都不重要,因爲你永遠不會分配結果('str'是不可變的;所有方法都會返回新的'str',原來的'str'不變)。你可能需要像'if df.endswith('[FLAC]'):''df = df [: - len('[FLAC]')]','print(df)'。 – ShadowRanger

回答

0

既然你問如何重命名目錄編程我會假設你有很多人做。 (遞歸?) 您將需要:

這裏是程序的結構。

import os 
my_list = [] 
for root, dirs, files in os.walk('./'): 
    #append the root to a list to my_list if it meets the criteria 
for dir in my_list: 
    #change the name of the dir here. 
+0

我想要做的是遞歸地去除某個目錄名稱上的某些模式並將其存儲在一個變量上,這樣我就可以將生成的目錄名稱附加到一個文件中,並對其進行重命名。但最初我想知道的是如何去除/刪除與某些模式匹配的不需要的目錄名部分,如示例[FLAC]或[EAC]等。 – xavier

+1

使用「re」對directoryName進行字符串操作模塊或split()然後shutil.move(src,dat)重命名該目錄。 – Back2Basics

相關問題