1. 程式人生 > >os.path.isfile的錯誤

os.path.isfile的錯誤

nco spa pat replace nbsp ecs 總計 txt target

今天寫了一個程序,讀取子目錄(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的錯誤