(2,'没有这样的文件或目录')当试图打开一个csv文件在Djang

2024-04-23 16:16:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我一辈子都不明白为什么我总是犯这个错误。所以我有一个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

有几件事要记住。文件.csv与调用此函数的python文件位于同一目录中。我在django环境之外的python解释器中运行同样的代码,它运行得很好。我试过rb和r,都不行。我不知道为什么不起作用。在

我有什么遗漏吗?在

我用的是python2.6


Tags: 模块文件csvdjango代码infor错误
1条回答
网友
1楼 · 发布于 2024-04-23 16:16:09

当Python希望使用Python命令执行文件时,它不会像解释器那样在py位置查找文件,而是在其他文件夹中查找(不知道确切在哪个文件夹中)。那么如何解决这个问题:如果你想保持没有固定文件路径的独立性,可以使用以下代码:

import os
workpath = os.path.dirname(os.path.abspath(__file__)) #Returns the Path your .py file is in
c = open(os.path.join(workpath, '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

现在只需将.csv文件与main.py脚本放在同一个文件夹中,就完成了! (剧本未经测试,如果是我的愚蠢,请告诉我)

相关问题 更多 >