zoukankan      html  css  js  c++  java
  • 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(',', '	')
                        icount = icount + 1
                        ftarget.write(line)
                    ftarget.close()
                    print('处理完毕文件:{};总计{}行'.format(item, icount))
    
        except Exception as e:
            print('出错啦,错误信息是:{}'.format(traceback.format_exc()))
  • 相关阅读:
    Git之GitFlow工作流
    auth
    rbac
    修改或删除windows上的git用户凭证信息
    Linux之shell备份数据库
    解决Navicat 连接服务器数据库报10060问题
    PHP框架学习思路
    shell之hello world
    Linux命令大全
    PHP 各个版本的区别
  • 原文地址:https://www.cnblogs.com/aomi/p/7001081.html
Copyright © 2011-2022 走看看