我稍微試了一下
如果在第一行或第二行加入 # -*- coding: utf-8 -*- 的話
可以讀取中文檔名的檔案,不會出錯
然後,也可以成功地加入 field 不會將 dbf 檔清空
但是如果已有同樣的 field,再執行一次 add_fields 函數,則會將 dbf 檔清空
※ 引述《Vinn (Vinn)》之銘言:
: 以下為code:
: import dbf
: import sys
: reload(sys)
: sys.setdefaultencoding('utf8')
: db = dbf.Table('鄉鎮.dbf')
: db.open()
: db.add_fields("value N(4,0)")
: db.close()
: 很奇妙的是,在第一次執行這段code新增field時
: 會噴出錯誤UnicodeDecodeError
: 但是雖然是錯誤,但是他仍然有新增field,只是他把全部的record都刪掉了..
: 要再次新增field的話,就一切順利成功,不會報錯
: 想請問這樣的情況該怎麼解決呢? 先謝謝板上的朋友了!!