Я настоятельно рекомендую этот модуль пути, написанный Джейсоном Орендорффом:
http://pypi.python.org/pypi/path.py/2.2
К сожалению, его веб-сайт сейчас недоступен, но вы все равно можете скачать по вышеуказанной ссылке (или через easy_install
, если хотите).
Используя этот модуль путей, вы можете выполнять различные действия с путями, включая файлы, которые вы запрашивали. Вот пример:
from path import path
my_path = path('.')
for file in my_path.walkfiles():
print file
for file in my_path.walkfiles('*.pdf'):
print file
Есть также вспомогательные функции для многих других вещей, связанных с путями:
In [1]: from path import path
In [2]: my_dir = path('my_dir')
In [3]: my_file = path('readme.txt')
In [5]: print my_dir / my_file
my_dir/readme.txt
In [6]: joined_path = my_dir / my_file
In [7]: print joined_path
my_dir/readme.txt
In [8]: print joined_path.parent
my_dir
In [9]: print joined_path.name
readme.txt
In [10]: print joined_path.namebase
readme
In [11]: print joined_path.ext
.txt
In [12]: joined_path.copy('some_output_path.txt')
In [13]: print path('some_output_path.txt').isfile()
True
In [14]: print path('some_output_path.txt').isdir()
False
Есть и другие операции, которые тоже можно выполнить, но это те, которые я использую чаще всего. Обратите внимание, что класс path
наследуется от string
, поэтому его можно использовать везде, где используется string
. Также обратите внимание, что два или более объекта path
можно легко объединить с помощью переопределенного оператора /
.
Надеюсь, это поможет!