Próbuję wprowadzić zmienną łańcuchową jako argument analizy.

Uruchom kod za pomocą następującej linii:

for i in range(0,5):
  para=str(i)+"test.params"
  !python test.py --model I3D_resnet50 --resume-params para
 

Argument analizy jest dodawany w test.py:

parser.add_argument('--resume-params', type=str, default='default.params',
                        help='path of parameters to load from.')

Ale kod nie działa, nawet jeśli dodam nargs='*' w parse.add_argument. Czy możliwe jest, że zmienna może być wprowadzana do argumentu analizy?

-2
TomTom 2 październik 2020, 21:38

1 odpowiedź

Najlepsza odpowiedź

Mam mały skrypt, który echa sys.argv:

In [173]: cat echo.py
import sys
print(sys.argv)

W sesji ipython Mogę nazwać to:

In [174]: !python3 echo.py test commandline
['echo.py', 'test', 'commandline']

Lub za pomocą zmiennej para:

In [175]: para = "test line"
In [176]: !python3 echo.py $para
['echo.py', 'test', 'line']

Echo SYS.ARGV można było zastąpić pracującą argparse parser.

0
hpaulj 2 październik 2020, 21:07