我正在試圖編寫一個函數,它將在指定的文件夾中找到一個名稱類似的文件(song.mp3,song1.mp3,(1)song.mp3)。我有什麼現在:Python在給定文件夾中找到類似的文件
def print_duplicates(source):
files_list = []
new_list = []
for dirpath, dirnames, filenames in os.walk(source):
for fname in filenames:
if ('\w*' + fname + '\w*') in files_list:
new_list.append(os.path.join(dirpath, fname))
else:
files_list.append(fname)
for a in new_list:
print(a)
如果文件名不是之前files_list將被添加,如果它是比將增加其路徑new_list。這樣我有'重複'文件的列表。然而,它不起作用,new_list仍然是空的。 你能改正我的錯誤嗎?我的代碼哪部分是錯的?
看起來你試圖使用正則表達式,但你實際上並沒有使用正則表達式函數。 str中的str不會注意到任何正則表達式的語法。 – Sam
你的意思是給出一個目錄中的三個文件 - 'song.mp3,song1.mp3,(1)song.mp3'你想要其中的一個在files_list中,其餘的在new_list中? –
你可以添加一個輸入和預期輸出的例子,因爲你的問題很不清楚 –