ディレクトリでglobを使用して特定の拡張子を持つファイルを取得する方法はありますが、パス全体ではなくファイル名のみを取得できますか?
os.path.basename(path)
を使用してファイル名を取得します。
これは誰かを助けるかもしれません:
names = [os.path.basename(x) for x in glob.glob('/your_path')]
os.path.basename
と組み合わせてglobを使用します。
relative globbing (特にzipファイルにアイテムを追加する必要がある場合)のソリューションを書き直します。これは通常、最終的には次のようになります。
# Function
def rel_glob(pattern, rel):
"""glob.glob but with relative path
"""
for v in glob.glob(os.path.join(rel, pattern)):
yield v[len(rel):].lstrip("/")
# Use
# For example, when you have files like: 'dir1/dir2/*.py'
for p in rel_glob("dir2/*.py", "dir1"):
# do work
pass