我有下面的代码来检查目录是否存在
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/Pancancancer/RNA-seq/CESC/TCGA-BI-A0 VS-01 A-11 R-A10 U-07”)时,它返回“true”。
为什么文件夹存在时显示false?
2条答案
按热度按时间khbbv19g1#
download
中的dir
在末尾有空白,而交互式会话中定义的dir
没有。通过打印repr(dir)
发现了差异。字符串
2vuwiymt2#
我在Ubuntu上使用
"~"
引用一个目录来表示主目录时遇到了这个问题。通常,当保持它为"~"
时,路径工作,但有时它不工作。我不知道为什么它不总是工作。在这种情况下,解决方案是将路径 Package 在
os.path.expanduser
中,以将"~"
规范化为指向主目录的绝对路径。字符串