Я хочу заменить текущий процесс новым с помощью os.execv, это хорошо работает, если у Вас нет аргументов.
Как я могу назвать это, даже если у меня нет аргументов для передачи процессу, который я хочу запустить?
# Works fine, unless the arguments tuple wouldn't exist or be empty
os.execv('process.exe', ('arg1', 'arg2'))
Хорошо, спросив в IRC, они указали, почему это работает именно так.
Первым аргументом (arg0) обычно является имя файла того, что вы выполняете (например, sys.argv [0]), поэтому первым аргументом всегда должно быть имя файла.
Это объясняет, почему аргументы не являются необязательными. В IRC сказали, что arg0 - это то, что приложение будет считать своим именем.
Это работает для меня
os.execv('process',())
Вы уверены, что ваш процесс
работает без аргументов?
Или попробуйте execl
os.execl('process')