Я пытаюсь запустить эту команду BASH в Popen:Python эквивалент найти -exec
find /tmp/mount -type f -name "*.rpmsave" -exec rm -f {} \;
Но каждый раз, когда я получаю: «найти: отсутствующий аргумент` -exec '\ п»в STDERR ,
Каким будет эквивалент python?
Мой наивный Подход будет:
for (root,files,subdirs) in os.walk('/tmp/mount'):
for file in files:
if '.rpmsave' in file:
os.remove(file)
наверняка есть лучше, вещий способ сделать это?
Я полагаю, вы я прав, я пробовал каждую комбинацию списка команд, потому что раньше у меня был опыт использования команд Popen, но я не понимал деталей фактической команды find, которую я использовал. Это сделало трюк, и в моем конкретном контексте это было лучшее решение, чем os.walk. Спасибо. –
вы можете использовать '' rm ',' -f ',' - ',' {} ',' + '', чтобы разрешить файлы, начинающиеся с' -', и передать более одного имени файла в 'rm' на время. – jfs