Discuss / Python / 在使用path.isfile()时发现错误。

在使用path.isfile()时发现错误。

Topic source

os.path.isdir()os.path.isfile()需要传入的参数是绝对路径,但是os.listdir()返回的只是一个某个路径下的文件和列表的名称.**

**常见错误:**直接使用os.listdir()的返回值当做os.path.isdir()os.path.isfile()的入参

正确用法:需要先使用python路径拼接os.path.join()函数,将os.listdir()返回的名称拼接成文件或目录的绝对路径再传入os.path.isdir()os.path.isfile().

作者:forsch

链接:https://www.jianshu.com/p/582910d13501

来源:简书

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

你的说法其实是不准确的。

在判断isdir()/isfile()的时候,既可以传绝对路径,又可以传相对路径

如果传相对路径,需要根据当前目录判断,即当前目录+相对路径是否存在

默认情况下,当前目录是命令行启动的目录,在程序中也可以用chdir()切换当前目录

我说换个路径试了半天都不行,后来也是拼接成绝对路径,敢情用相对路径需要先用os.chdir()切换当前目录才可以!!

学习了


  • 1

Reply