Добавление к ответу Jo sh.
Для наиболее чистого решения вы должны использовать операторы import
для извлечения кода из другого файла. Способ достижения этого заключается в том, чтобы каждый файл имел основную функцию, которая будет служить интерфейсом. Кроме того, я также рекомендую использовать argparse, если файлы являются программами командной строки.
Если за один раз вызывается только один файл, программа может выглядеть примерно так:
import argparse
import file1
import file2
parser = argparse.ArgumentParser(description='Run some files')
parser.add_argument('--file', type=str, dest='file', help='file name', required=True)
parser.add_argument('--options', dest='options', nargs='+')
args = parser.parse_args()
print(args.file)
if args.file == 'file1':
if args.options:
file1.main(*args.options)
else:
file1.main()
elif args.file == 'file2':
if args.options:
file2.main(*args.options)
else:
file2.main()
file1.py может выглядеть так:
def main(*options):
print('File 1', options)
И вы называете это так: python3 menu.py --file file1 --options option1 option2