質問をご覧くださり、ありがとうございます。
現在、roboterというプロジェクトを作る教材を使用し、Pythonを学んでおります。
その中で、os.pathという標準ライブラリを使用して一つ上の階層であるroboterというディレクトリのパスを取得している記述がありました。
取得しようとしているディレクトリ
/Users/username/PycharmProjects/roboter_project/roboter
取得したディレクトリ
/Users/username/PycharmProjects/roboter_project/roboter
教材のスクリプト
python
1print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
しかし、ドキュメントを見ていると、一つ上の階層のディレクトリを取得するだけならば、os.path.dirnameメゾットのみを使用しても同じ結果が取得できると考え、試みたところ、同じ結果を取得することができました。
取得したディレクトリ
/Users/username/PycharmProjects/roboter_project/roboter
python
1print(os.path.dirname(os.path.dirname(__file__)))
ドキュメントを見てみると、下記のように記述されています。
パス名 path の正規化された絶対パスを返します。
しかし、どちらにおいても絶対パスを返していると思うので、違いがわかりません。
長くなりましたが、質問は2つです。
1. 「os.path.dirname」と「os.path.absname」を使用し、同じ結果を得られたのであれば、コード量が少なくなる「os.path.dirname」のみを使用した方が良いのか?
- (1が「os.path.dirname]のみを使用した方が良いという場合)どのようなケースでos.path.absnameが用いられるのか?
長文、駄文失礼いたしました。
拙い質問で恐れ入りますが、ご回答いただけたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/18 11:52
2020/07/18 11:56 編集
2020/07/18 11:58
2020/07/18 16:56