os.path.isfile的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了os.path.isfile的错误相关的知识,希望对你有一定的参考价值。

今天写了一个程序,读取子目录(source)下的所有文件,然后转换。

程序一部分代码如下:

def DtoTab(dsrc, dtarget):
    try:
        for item in os.listdir(dsrc):
            if os.path.isfile(item):
                print(ok)

然后发现,找不到文件。

最后发现,item读取出来的额,只是文件名,而isfile判断的时候,就在py的workdir下面寻找,所以,失败。修改如下:

 

def DtoTab(dsrc, dtarget):
    try:
        for item in os.listdir(dsrc):
           
            fullfilename=os.path.join(dsrc,item)
            if os.path.isfile(fullfilename) and item.endswith(.txt):
                print(开始处理文件:{}.format(item))
                dfilename = os.path.join(dtarget,item)
                ftarget = codecs.open(dfilename, w, encoding=utf-8)
                icount = 0
                for line in open(fullfilename, encoding=utf8):
                    line = line.replace(,, \t)
                    icount = icount + 1
                    ftarget.write(line)
                ftarget.close()
                print(处理完毕文件:{};总计{}行.format(item, icount))

    except Exception as e:
        print(出错啦,错误信息是:{}.format(traceback.format_exc()))

 

以上是关于os.path.isfile的错误的主要内容,如果未能解决你的问题,请参考以下文章

os.path.isfile() 为 linux smb 网络驱动器上的文件返回 false

os.path.isfile 使用误区

在 python 中检查 os.path.isfile(filename) 是不是区分大小写

python:如何在(路径)列表上使用 os.path.isfile()? [复制]

python中由于中文路径引起的os.path.isfile(imgpath) == False问题

os模块