时间:2021-05-22
下列这几条语句,看出什么问题了不?
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.txt', '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.128.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 的使用误区详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
思路:创建文件时,先检查是否有同名文件(使用os.path.isfile),如果有,则在文件名后加上编号n来创建。关键点:1.使用os.path.isfile判
使用os模块判断文件是否存在os.path.isfile(path)判断目录是否存在os.path.isdir(path)判断路径是否存在#使用path模块os
由于工作安排,需要读取多层文件夹下嵌套的文件,文件夹的结构如下图所示:想到了递归函数,使用python的os.path.isfile方法判断当前是不是可执行文件
复制代码代码如下:importosdefload():filename=os.getcwd()+r'\fromto.txt'ifos.path.isfile(f
Python获取当前路径实现代码importos,sys使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspat