【发布时间】:2013-08-31 04:54:11
【问题描述】:
我一生都无法弄清楚为什么我不断收到此错误。所以我有一个运行以下代码的 django 模块
c = open('file.csv', 'rb')
reader = csv.reader(c)
rows = []
rownum = 0
for row in reader:
# Skip header
if rownum != 0:
rows.append(row)
rownum += 1
c.close()
return rows
有几件事要记住。 file.csv 与调用此函数的 python 文件位于同一目录中。我在 django 环境之外的 python 解释器中运行这个相同的代码,它运行良好。我试过rb和r,都不起作用。我不知道为什么它不起作用。
我有什么遗漏吗?
我正在使用python2.6
【问题讨论】:
-
我猜当 django 运行你的模块时,它会从应用程序目录级别运行它,而当你独立运行它时,它会从应用程序目录内部运行。
./vs../之类的,你能分享一下你的项目层次结构是什么吗? -
你试过用绝对路径打开文件吗?
-
@SrikarAppal 该应用程序的名称称为后端,我在该目录中有 file.csv 以及正在访问它的文件。我开始认为我必须使用 STATIC_ROOT 并将其与我的其他资产一起使用。
-
@LaszloPapp 是的,我做到了:/
-
@barrigaj:这行得通吗?如果是,您可以使用 os.path.abspath(file).
标签: python django csv django-models opencsv