在这个坑浪费了很多时间,便记录下来。
我想判断data目录哪些路径是文件,于是:
import os
for path in os.listdir("data"):
print(os.path.isfile(path))
运行后:
???????
觉得不对劲,于是:
import os
for path in os.listdir("data"):
print(os.path.isdir(path))
运行:What???
查了资料,说os.path.isfile参数传的是绝对路径
于是:
import os
for path in os.listdir("data"):
print(os.path.isdir(os.path.abspath(path)))
运行后:
嗯????
后面调整了很多次,终于成功。。。。
正确代码:
import os
for path in os.listdir("data"):
print(os.path.isfile(os.path.join("data", path)))
运行结果:
结论:
坑1:os.path.isfile和isdir方法要注意传入的路径(实测可以不是绝对路径,我估计方法内调用了os.oath.abspath,不然我的代码不会有误)
坑2:os.path.abspath方法可能得到的不是我们想要的。。(我对这个方法的预期是传入一个相对路径,返回绝对路径。但是,这个方法它只是把当前运行的.py文件的文件夹路径加上你传入的路径,真的坑)
版权声明:本文为zlh19960218原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。