У меня есть решение:
import os
for logfile in os.popen('find . -type f -name *.log').read().split('\n')[0:-1]:
print logfile
или
import subprocess
(out, err) = subprocess.Popen(["find", ".", "-type", "f", "-name", "*.log"], stdout=subprocess.PIPE).communicate()
for logfile in out.split('\n')[0:-1]:
print logfile
Эти два имеют преимущество find . -type f -name *.log
.
Первый проще, но не гарантирован
для пробела при добавлении -name *.log
,
но работал нормально просто find ../testdata -type f
(в моей среде OS X).
Второй, использующий подпроцесс, кажется более сложным, но это безопасный пробел (опять же, в моей среде OS X).
Это вдохновлено Крисом Банчем,
в ответ
https://stackoverflow.com/a/3503909/2834102