test.py で起動すると、open('file')はtest.pyと同じ場所から開く
python test.py だとカレントの場所が変わるのでエラーになる

コードに絶対パス埋め込むのも何だし、pyのある場所を取得するのも面倒だし
きっちりすると面倒が増える