Итак, мне было поручено написать скрипт Python, который обращается к Win 32 DLL для выполнения некоторых функций.Этот скрипт должен принимать параметры из командной строки, а затем выводить другие параметры.
Я использую ctypes, так как это самый простой способ передачи параметров в методы Win 32 DLL, но мне посчастливилось иметьфиксированный массив значений из командной строки, который я решил, выполнив следующее:
seed = (ctypes.c_ubyte * 12)(
ctypes.c_ubyte(int(sys.argv[3], 16)), ctypes.c_ubyte(int(sys.argv[4], 16)),
ctypes.c_ubyte(int(sys.argv[5], 16)), ctypes.c_ubyte(int(sys.argv[6], 16)),
ctypes.c_ubyte(int(sys.argv[7], 16)), ctypes.c_ubyte(int(sys.argv[8], 16)),
ctypes.c_ubyte(int(sys.argv[9], 16)), ctypes.c_ubyte(int(sys.argv[10], 16)),
ctypes.c_ubyte(int(sys.argv[11], 16)), ctypes.c_ubyte(int(sys.argv[12], 16)),
ctypes.c_ubyte(int(sys.argv[13], 16)), ctypes.c_ubyte(int(sys.argv[14], 16))
)
Но это все равно не динамично, и я попытался выполнить инициализацию этого массива с помощью цикла for внутри инициализации массива, но безуспех.
Я совершенно новичок в Python, и мне довольно сложно выполнять то, что я считаю простыми задачами на других языках (не нарушая язык, просто не находя его таким же интуитивным, как другие языки для таких задач).
Итак, есть ли способ упростить инициализацию этого массива, где может быть переменное количество записей как таковых?
Я искал и искал, и ничего, что я нашел, не решило мою проблему.
Все положительные и отрицательные комментарии всегда приветствуются и обаплохо всегда служить учебным опытом:)