Соответствие конкретным именам файлов
У меня есть некоторый код, который ищет файлы сетевых сценариев, например: 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