Игнорировать этот вопрос. Это совершенно другое, чем вопрос, который мне нужно задать. Прошу прощения за тех, кто уже ответил на вопрос. Надеюсь, это поможет кому-то в будущем.Сравните, если два элемента из os.listdir похожи?
Читайте новую тему здесь: Opening files found from os.listdir() and comparing lines inside?
В принципе, я бегу os.listdir(), чтобы получить список файлов, а затем пытается сравнить, если два разных файла имеют одинаковые имена. Как я могу это сделать?
В принципе, код в настоящее время это:
config_dir = "/etc/netctl/"
profiles = os.listdir(config_dir)
for i in profiles:
if os.path.isfile(config_dir + i):
if i in i:
print "True"
else:
pass
Я не уверен, что я хотел бы использовать для проверки сходства имен, хотя. Тем не менее, я знаю, что «если я в я» просто проверка того же слова ... но я не знаю, как бы я идти о спасении последний ...
Я также попытался:
i2 = ""
profiles = os.listdir(config_dir)
for i in profiles:
if os.path.isfile(config_dir + i):
if i2 == "":
i2 = i
print i2
elif i2 == i:
continue
if i2 in i:
print "true"
else:
pass
Я думаю, что, возможно, я это переусердствовал. Это выход из os.listdir:
['hooks', 'interfaces', 'examples', 'ddwrt', 'MomAndKids_wifiz', 'backups', 'MomAndKids']
Файлы DDWRT MomAndKids_wifiz и MomAndKids. В принципе, я хочу, чтобы он обнаружил, что имена «MomAndKids» и «MomAndKids_wifiz» похожи, а затем возвращают True.
«похож» или «один содержит другой» и должно ли оно быть чувствительно к регистру? –
Ну, вот где это усложняется. В принципе, люди могут вручную создавать свои профили для этой программы и называть их независимо от того, что они хотят (так, по сути, они могли бы назвать его asdfasdfasf), но моя программа всегда будет генерировать $ NetworkSSID_wifiz. Так что я просто понял, что это может работать не полностью. Однако в каждом файле есть «ESSID = '$ NetworkSSID». Поэтому мне действительно нужно открыть файл и сравнить эти строки для каждого отдельного файла. Редактирование основного вопроса, чтобы отразить это. –
Это резкое изменение вопроса, полностью аннулирование всех существующих ответов. Пожалуйста, верните изменение и задайте новый вопрос. – user4815162342