Saki0506
@Saki0506 (さき おぐら)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Python IDLEでファイルパスを省略したい

解決したいこと

Python IDLEでファイルパスを省略したいです。
IDLEで指定のファイルを引数で渡すときにいつも絶対パスを入れております。

example = open("/Users/username/Downloads/example.pdf")

上記のコードを以下のように書けたら楽なのになといつも思っております。

example = open("example.pdf")

引数に絶対パスを入れずにファイル名だけを渡したい時はos.chdir()などでカレントディレクトリを事前に移動して実行するしか方法はないのでしょうか?
何か他に簡単な方法をご存知の方がいらしゃいましたら教えていただきたいです。

よろしくお願いします。

0

1Answer

起点にしたいディレクトリパスを決めておいて、ファイル名と結合する方法が考えられます。

from pathlib import Path
base_dir = Path("/Users/username/Downloads")
example = open(base_dir / "example.pdf")

pathlib.Path はパスを表現するクラスです。 Path についての / 演算子は2つのパス(右辺は文字列でも可)を結合した新しい Path を返します。

/Users/username は一般的に(username ユーザーの)ホームディレクトリといい、 Path.home() で取得できます。よって最初の例は次のように書き換えることができます。

from pathlib import Path
example = open(Path.home() / "Downloads/example.pdf")
0Like

Comments

  1. @Saki0506

    Questioner

    こんなやり方もあるんですね!勉強になります。いつもありがとうございます!

Your answer might help someone💌