Соответствие конкретным именам файлов

У меня есть некоторый код, который ищет файлы сетевых сценариев, например: ifcfg-eth0 и т. Д. Код в настоящее время использует функцию соответствия, доступную в Augeas, чтобы получить все файлы в каталоге, например:

augeas.match("/files/etc/sysconfig/network-scripts/*")

Однако этот код соответствует файлам, таким как ifcfg-eth0.bak, который не подходит для моих нужд. Я хочу сопоставлять только сетевые скрипты в диапазоне от eth0 до eth7 (без файлов резервных копий и т. Д.). Что будет хорошим подходом для сопоставления только правильных файлов?

2 ответа

Если вы абсолютно уверены, что вам не нужны файлы с расширением, вы можете попробовать это.

augeas.match ('и т.д. /sysconfig/ сети-скрипты /*[регулярное выражение ("[\w-]")]')

Изменено, чтобы добавить цитаты, как указано ниже.

Я смог удовлетворить свои требования, используя следующий код:

files = []
for i in range(8):
    try:
        filename = augeas.match('/files/etc/sysconfig/network-scripts/ifcfg-eth' + str(i))[0]
        files.append(filename)
    except:
         continue

print files
Другие вопросы по тегам