我是python的新手。今天有些令我困惑的事情。在路径c:\python\
下,有几个折叠。我在这条路径下编辑一个python脚本,然后运行代码:
for dir_name in os.listdir("./"):
print dir_name
print os.path.isdir(dir_name)
打印:
Daily
True
renafile.py
False
script
True
但是,当我将脚本放在路径Daily
下的折叠C:\python\
中时,运行代码:
for dir_name in os.listdir("../"):
print dir_name
print os.path.isdir(dir_name)
打印:
Daily
False
renafile.py
False
script
False
他们有区别吗?
答案 0 :(得分:9)
它返回false,因为当您使用文件夹名称调用isdir时,python会在当前目录中查找该文件夹 - 除非您提供绝对路径或相对路径。
由于您要列出"../"
中的文件,因此您应该像这样调用isdir:
print os.path.isdir(os.path.join("../", dir_name))
您可能希望将代码修改为:
list_dir_name = "../"
for dir_name in os.listdir(list_dir_name):
print dir_name
print os.path.isdir(os.path.join(list_dir_name, dir_name))