python
pythonで相対パス指定で動かそうとしたときはまった話

はじめに

pythonで相対パス指定で動かそうとしたときはまった話

なぜか動かない相対パス

pythonでもhtmlとかと同じような相対パスの書き方で動くとのことだったので、pyファイルの置き場所から見た相対パスで実行したが、FileNotFoundError: [Errno 2] No such file or directory となってしまった。


例
/py/hoge.py
/aa/aa.json

のようなファイル構成で、hoge.pyから、aa.jsonにアクセスしたかったので、../aa/aa.json のような形でかいた

で、もちろん絶対パスに直すと動くのだけれども、相対パスにすると動かない・・・・

実行しているファイルではなく、実行している場所が悪い?

python動かす時にターミナルで動かしていたが、トップディレクトリでフルパスを指定して実行していたのがよくなかった。なので、cd でpythonのフォルダまで移動した上で、実行。そしたら、相対パスでも動いた。

単純な・・・ことでした