os.path.isfile 使用误区
Posted Deen12520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了os.path.isfile 使用误区相关的知识,希望对你有一定的参考价值。
下列这几条语句,看出什么问题了不?for file in os.listdir(path): if os.path.isfile(file) and os.path.splitext(file)[1] == '.txt': #打开txt文件,并提取数据
冥思苦想,没错啊,为啥 os.path.isfile(file)返回的就是false呢。 >>> os.listdir(path) ['cg.A.1.txt', 'cg.A.128.txt', 'cg.A.16.txt', 'cg.A.2.txt', 'cg.A.256.txt', 'cg. A.32.txt', 'cg.A.4.txt', 'cg.A.512.txt', 'cg.A.64.txt', 'cg.A.8.txt', 'cg.B.1.tx t', 'cg.B.128.txt', 'cg.B.16.txt', 'cg.B.2.txt', 'cg.B.256.txt', 'cg.B.32.txt', 'cg.B.4.txt', 'cg.B.512.txt', 'cg.B.64.txt', 'cg.B.8.txt', 'cg.C.1.txt', 'cg.C.1 28.txt', 'cg.C.16.txt', 'cg.C.2.txt', 'cg.C.256.txt', 'cg.C.32.txt', 'cg.C.4.txt ', 'cg.C.512.txt', 'cg.C.64.txt', 'cg.C.8.txt', 'cg.D.128.txt', 'cg.D.16.txt', ' cg.D.256.txt', 'cg.D.32.txt', 'cg.D.512.txt', 'cg.D.64.txt'] >>> files = os.listdir(path) >>> os.path.isfile(files[1]) False
试验了多次,仍然是False, 我去,什么鬼.....
开始Google,看到一些目录操作,无果....
遂查看python自带帮助,终于找到了答案,泪奔....
-
Return
True
if path is an existing regular file. This follows symbolic links, so bothislink()
andisfile()
can be true for the same path.
os.path.
isfile
(
path
)
解决方法就是: >>> os.path.isfile(os.path.join(path,files[1])) True
搞定!
以上是关于os.path.isfile 使用误区的主要内容,如果未能解决你的问题,请参考以下文章
python:如何在(路径)列表上使用 os.path.isfile()? [复制]
在 python 中检查 os.path.isfile(filename) 是不是区分大小写
python中由于中文路径引起的os.path.isfile(imgpath) == False问题