Как найти eof dbf-файла Visual Foxpro в python? - PullRequest
0 голосов
/ 16 июня 2020

Итак, я открываю визуальный файл dbf foxpro в python. Я пытаюсь сделать заявление:

    if eof(): 
       Do something
    else:
       Do something

Насколько я помню, Python 3 не использует Eof, поэтому есть ли какое-нибудь решение о том, как я узнаю, дошел ли я до конца файла?

Здесь я открываю свой dbf-файл, и мой for l oop просматривает dbf-файл, но я хочу, чтобы он был там, где я мог видеть, если это eof сначала, прежде чем l oop через.

    mhvupload_table = DBF('C:\Sonichr\\mhvupload.DBF', recfactory=None,load =True,ignore_missing_memofile=True)
    for mhvupload_rec in mhvupload_table:

1 Ответ

1 голос
/ 17 июня 2020

Я не понимаю того, чего не понимаете вы. Я не знаю Python, но все равно я пробовал это и работает именно так, как я сказал:

from dbfread import DBF
table = DBF('C:/Program Files (x86)/Microsoft Visual FoxPro 9/Samples/Northwind/Customers.dbf')


def DoIfNotEof(object):
    print(object)

def DoIfEof():
    print("\nEnd Of File is reached. Going to sleep.")

for record in table:
    DoIfNotEof(record)
DoIfEof()

Как я вижу, dbfread не читает на 100% правильно (удаляя длинные имена полей), но все равно работает. Наверное, есть настройка или что-то в этом роде. Попробуйте посетить DaboDev . Эти ребята - бывшие разработчики VFP.

...