4

私はテーブルからデータを取得することを含むdjangoプロジェクトを書いています。いくつかのデータを取得する行があるモジュールがあります(snp_data.txtはモジュールの同じディレクトリにあるファイルです):</ p>

  data = file("snp_data.txt")

モジュールは、djangoプロジェクトの外部で個別に呼び出すとうまく機能しますが、djangoアプリ内の他のモジュールで呼び出すと、以下のエラーが発生し続けます。

  no such file or directory as 'snp_data.txt'

何が起こっているのか分かりますか?

4

1 に答える 1

14

パスを指定しなかったため、現在の作業ディレクトリでファイルを開こうとしています。代わりに絶対パスを使用する必要があります。

import os.path
BASE = os.path.dirname(os.path.abspath(__file__))

data = open(os.path.join(BASE, "snp_data.txt"))

現在の作業ディレクトリがモジュール ディレクトリと同じになることはめったにないためです。

;open()の代わりに使用したことに注意してください。file()前者が推奨される方法です。

于 2013-02-28T22:05:11.307 に答える