5

特定のファイルのパスがある場合、たとえば'C:\Folder\OtherFolder\AnotherFolder\file.txt'、python で file.txt のすべての親ディレクトリを取得できる方法はあり'OtherFolder'ますか? パスの深さは一定ではないため、特定の回数だけ反復することはできませんが'OtherFolder'、深さに関係なく常に到達する必要があります。これは私が作っているよりも簡単なはずだと思いますが、木曜日が新しい月曜日だと言われています. :)

4

1 に答える 1

7

Windows を使用している場合は、次の手順を試してください。

import os
os.path.relpath('C:\Folder\OtherFolder\AnotherFolder\file.txt', 'C:\Folder\OtherFolder')

os.path.sep次に、 (あなたの場合は)を使用して分割できます\

rel_path.split(os.path.sep)

個々のディレクトリを取得します。

Linux マシンでは、同様の呼び出しで意味が返されます。

os.path.relpath('/Folder/OtherFolder/AnotherFolder/file.txt', '/Folder/OtherFolder')
# returns 'AnotherFolder/file.txt'

rel_path.split(os.path.sep)
# returns ['AnotherFolder', 'file.txt']
于 2012-05-10T14:04:53.347 に答える