うまいタイトルが思いつかなかったのですが、以下コードでなんとなくやりたい事が見えればと思います。
def abspath_parent(target, layer): path = Path(target.name) for upper in range(layer): path = Path(target).resolve().parents[upper].name / path return path target = 'test.txt' get = abspath_parent(target, 3) # get = 'hoge/fuga/test.txt'
として値を取得しているのですが、abspath_parentのように頑張らずにスッキリ書く方法はないものでしょうか?
何らかの式(Path(target.resolve()), 3)
のような書き方でgetのような結果を取得できるものが期待する回答です。
やはり自作するしかない場合は、上記でやりたい事が実現できているので諦めます。
出来ない場合は出来ない、と教えてもらえるとそれはそれで諦めがつきます。
よろしくお願いします。
target のtest.txtはhoge/fuga/test.txtに設置してあって、3階層上のパスまで取得したいということでしょうか?
回答4件
あなたの回答
tips
プレビュー