Как преобразовать код Foxpro (файл prg) в Python

Сейчас у меня есть довольно большая программа, написанная на FoxPro (файл prg). Сейчас FoxPro действительно устаревает, поэтому я хочу спросить следующее:

Можно ли преобразовать весь код FoxPro (файл .prg) в Python? Есть ли для этого простой трюк / код? Python должен стать моей основной платформой для кодирования, поэтому мне больше не нужно использовать FoxPro, когда я хочу скорректировать какой-то код или что-то еще. У кого-нибудь есть опыт с этим?

Я надеюсь получить известие от вас, ценю вашу помощь.

PS: Обратите внимание, что я новичок в Python.


person ManCity10    schedule 20.04.2020    source источник
comment
Вашей программе нужна база данных? Ваше приложение одно- или многопользовательское? Если это однопользовательское приложение без базы данных, будет довольно легко преобразовать ваш код вручную. Если у вас есть основы Python, вам нужно найти какой-нибудь GUI-Framework, с которым можно было бы работать. Преобразование ваших Foxpro-Forms в Python, вероятно, будет самым продвинутым делом. Изменить: как уже упоминали другие, исправление ошибок, сгенерированных инструментом-конвертером, определенно займет больше времени, чем переписывание кода.   -  person DerHamm    schedule 20.04.2020
comment
Много лет назад опытный разработчик VFP по имени Эд Лиф создал фреймворк Python под названием Dabo, который, как я полагаю, должен был упростить переход для разработчиков VFP. Я не знаю, что это за текущий статус, но с этого можно было бы начать.   -  person Tamar E. Granor    schedule 20.04.2020
comment
@ TamarE.Granor Похоже, что Dabo в настоящее время находится в режиме обслуживания. Он был написан для Python 2, и перенос на Python 3 не завершен. Репозиторий github не очень активен.   -  person Roland Smith    schedule 20.04.2020
comment
@DerHamm, Да, моей программе нужна база данных и, насколько я знаю, она многопользовательская, потому что мы используем ее в нашей организации. Я знаю, что переписывание, возможно, лучший вариант.   -  person ManCity10    schedule 21.04.2020


Ответы (2)


Есть много людей из сообщества FoxPro, которые перешли в мир Python, но я не знаю инструментов для преобразования исходного кода. Как и в случае с большинством вопросов типа «могу ли я преобразовать язык x в язык y», вы потратите больше времени на приведение результата в форму, чем просто на документирование и переписывание.

В разделе загрузки на Leafe.com есть несколько сценариев Python, которые реализуют общие функции Visual FoxPro.

person Alan B    schedule 20.04.2020

Возможно, вы захотите проверить этот вопрос.

Также существует vfp2py.

Python поставляется с поддержкой отличной базы данных SQLite, встроенной в модуль sqlite3 . (Вы наверняка уже используете sqlite, но можете даже не знать об этом.) Хранение данных в База данных sqlite означает, что вам не придется беспокоиться о том, что вы не сможете получить к ней доступ до конца своей жизни.

person Roland Smith    schedule 20.04.2020
comment
Если у OP есть приложение FoxPro или Visual FoxPro, вероятность того, что он использует SQLite, крайне мала. Скорее всего, это либо собственная база данных FoxPro, либо SQL Server, либо MySQL. - person Tamar E. Granor; 20.04.2020
comment
@ TamarE.Granor Я имел в виду, что он практически повсеместен в браузерах и на смартфонах. - person Roland Smith; 20.04.2020
comment
@ TamarE.Granor Я действительно использую базу данных MySQL, да. - person ManCity10; 21.04.2020