Discuss / Python / 有个问题

有个问题

Topic source

G好大的鱼

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

为什么我有的文件用os.path.isfile() 得到的却是False 同一个文件夹里四个文件,一个True,三个False

廖雪峰

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

仔细检查代码,或者检查文件名写对了没

始终坚信问题出在自己的代码上

这个问题我也遇到了。 这是因为在使用os.path.isdir(x)或os.path.isfile(x)时,x需要用完整的绝对路径,python才能返回正确结果。 在我们这个例子中,如把一个路径下的文件和文件夹名称用os.listdir生产一个列表后,列表里面存的不是完整的路径,有的时候判断就会出问题。 解决的办法是,在判断列表的原始是文件或目录时,用os.path.join生产完整的带绝对路径的文件名后,再做判断,就没有问题了。

Stella2011

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

@monkeyxiaoshuai 感谢


  • 1

Reply