У меня есть несколько сценариев, которые ссылаются на программу Python с помощью:Обновление Python CLI, сохраняя при этом "питон -c exectfile" интерфейс
python -c "execfile('myfile.py'); readFunc(param='myParam', input='blahblah')"
интерфейс. То, что я хотел бы сделать, концептуально просто: разработать более модульную систему с «основным» и обычным интерфейсом CLI Python, который затем вызывает эти функции, но также ОСНОВАЕТ существующий интерфейс, поэтому скрипты, созданные для его использования, все еще работают.
Возможно ли это?
В идеале, если бы я должен был назвать
python myFile readFunc myParam blabblah
Было бы что-то вроде:
main(sys.argv):
readFunc(sys.argv[2], sys.arg[3])
Я пытался что-то подобное, но это не совсем сработало. Возможно ли поддерживать оба интерфейса/методы вызова?
Спасибо!
Следует отметить, что строка «execfile» для '__name__' здесь абсолютно произвольна, и вам может быть даже лучше использовать строку, которая никогда не столкнется с именем любого модуля, в который может быть импортирован ваш код. Возможно, просто «*» ... буквальная строка звездочки. –
Да, дело в том, что исполняемый интерфейс execfile должен быть настойчивым. Если мы собираемся изменить его, мы могли бы полностью отказаться от него и довести вещи до 21-го века в любом случае. Я буду настаивать на этом, но на этом интерфейсе построено много сценариев, поэтому было бы лучше сделать это параллельно. – user770901
Вы можете что-то делать с '__name__' ==' '__main __ '' и '' __file __' 'не в globals(). Я добавляю образец к моему сообщению. –