os.path.isfile的错误
2017-06-13 14:36 很大很老实 阅读(1398) 评论(0) 编辑 收藏 举报今天写了一个程序,读取子目录(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()))
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步