Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IOEerror in python "No such file or directory"

I am writing a django project that involves retrieving data from a table. I have a module that has the line to retrieve some data (snp_data.txt is a file on the same directory of the module):

  data = file("snp_data.txt")

While the module works well when I call it separately outside the django project; I keep getting the error below, when I call with other module within the django app.

  no such file or directory as 'snp_data.txt'

Any idea what's going on?

like image 548
Yishen Chen Avatar asked Dec 08 '22 17:12

Yishen Chen


1 Answers

You are trying to open the file in the current working directory, because you didn't specify a path. You need to use an absolute path instead:

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

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

because the current working directory is rarely the same as the module directory.

Note that I used open() instead of file(); the former is the recommended method.

like image 83
Martijn Pieters Avatar answered Dec 11 '22 09:12

Martijn Pieters