python os.path.isfile 的使用误区详解
作者:Deen12520
今天小编就为大家分享一篇python 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自带帮助,终于找到了答案,泪奔....
os.path.isfile(path) Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path.
注意:path是路径.....
而我传的是一个文件名.
解决方法就是:
>>> os.path.isfile(os.path.join(path,files[1])) True
搞定!
以上这篇python os.path.isfile 的使用误区详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 三分钟熟练使用Python的os.path.join()
- python中的os.path.join使用方法详解
- Python中os.path.join函数的用法示例详解
- python中os.path.exits()的坑
- python中join与os.path.join()函数实例详解
- python中os.path.join()函数实例用法
- python中的split()函数和os.path.split()函数使用详解
- 如何使用python3获取当前路径及os.path.dirname的使用
- python os.path.isfile()因参数问题判断错误的解决
- python中os.stat().st_size、os.path.getsize()获取文件大小