Получить аргументы командной строки интерпретатора Python
Вдохновленныйдругой вопрос здесьЯ хотел бы получить полную командную строку интерпретатора Python переносимым способом. То есть я хочу получить оригиналargv
переводчика, а неsys.argv
что исключает опции для самого переводчика (например,-m
, -O
, так далее.).
sys.flags
говорит нам, какие логические параметры были установлены, но это не говорит нам о-m
аргументы, и набор флагов неизбежно меняется со временем, создавая бремя обслуживания.
В Linux вы можете использовать procfs для извлечения исходной командной строки, но это не переносимо (и это как бы грубо):
open('/proc/{}/cmdline'.format(os.getpid())).read().split('\0')