当文件夹存在时,os.path.isdir返回false?

时间:2014-07-25 21:26:48

标签: python os.path

我有以下代码检查目录是否存在

def download(id, name, bar):
    cwd = os.getcwd()
    dir = os.path.join(cwd,bar)
    partial = os.path.join(cwd, id + ".partial")
    print os.path.isdir(dir)
    if(os.path.isdir(dir)):
        print "dir exists"
        dir_match_file(dir, bar)
    else:
        print dir

对于实际存在的目录,它返回“False”。这是输出:

False
/scratch/rists/djiao/Pancancer/RNA-seq/CESC/TCGA-BI-A0VS-01A-11R-A10U-07

当我进入python交互式会话并输入os.path.isdir(“/ scratch / rists / djiao / Pancancer / RNA-seq / CESC / TCGA-BI-A0VS-01A-11R-A10U-07”) ,它返回“true”。

为什么文件夹存在时会说错?

1 个答案:

答案 0 :(得分:9)

dir中的download在结尾处有空白,而在交互式会话中定义的dir没有。通过打印repr(dir)发现了差异。

In [3]: os.path.isdir('/tmp')
Out[3]: True

In [4]: os.path.isdir('/tmp\n')
Out[4]: False