Я пытаюсь перечислить все файлы с похожим именем в отдельную папку, но не могу определить имена для их перемещения. Ниже я создаю папку с Duplicate name в моем рабочем каталоге, а затем передаю все файлы через функцию split, чтобы получить среднюю часть имени от строки xmlName = xml.split('.')[1]
. Теперь xmlName
имеет только часть имени файла, которая помогает мне решить дублирующее имя.Список дубликатов файлов из списка в Python
Ниже приведен список файлов в рабочем каталоге:
# ls
CRON.JC_ADA_SOURCE_DLOAD.xml Duplicate TERA.SC_CACHE_PURGE_01.xml
CRON.JC_ADA_SOURCE_WLOAD.xml POWE.BI_RUN_INFO_WKFLW_INF1.xml test.py
CRON.SC_ADA_CLEANUP_SCRIPT.xml POWE.JC_ADA_SOURCE_DLOAD.xml Unknown
CRON.SC_CACHE_PURGE_01.xml POWE.SC_CHECK_ADA_DATA_FILE_INF2.xml
#
Ниже приведен код (где я не уверен, как только список вниз дубликатов файлов).
#!/usr/bin/python
import os, sys
Working_Dir = "/home/export/Partition/JobDefinition"
if not os.path.exists('./Duplicate'):
os.makedirs('./Duplicate', 0755)
for path, dir, files in os.walk(Working_Dir):
for xml in files:
xmlName = xml.split('.')[1]
if xmlName == xmlName:
print xmlName
Выход:
# python test.py
SC_ADA_CLEANUP_SCRIPT
SC_CHECK_ADA_DATA_FILE_INF2
JC_ADA_SOURCE_WLOAD
BI_RUN_INFO_WKFLW_INF1
JC_ADA_SOURCE_DLOAD
SC_CACHE_PURGE_01
JC_ADA_SOURCE_DLOAD
SC_CACHE_PURGE_01
py
#
Какой выход мне нужно ниже имен, так что я могу переместить соответствующий файл Дублирование папку:
JC_ADA_SOURCE_DLOAD
SC_CACHE_PURGE_01
Спасибо за руководство Скоттом. Я очень новичок в Python и поэтому не уверен, как использовать set, но теперь, поскольку я знаю, что набор должен использоваться, я найду его использование. – ankitpandey