Я пытаюсь запустить цикл, для которого требуется команда bash --
!python3 -m runner.player_1
но когда я делаю это в цикле:
for player1 in range(0, 100, 1):
!python3 -m "runner.player_" + str(player1)
не работает и возвращает ошибку:
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `python3 -m "runner.player_" + str(player1)'
Как я могу это исправить? Спасибо
Вам придется вызывать ее как функцию Python с помощью os.system
, а не как волшебную команду.
import os
for player1 in range(0, 100, 1):
os.system("python3 -m runner.player_" + str(player1))
не знаю почему, но у меня этот метод не работает :(
Собственный цикл Bash будет выглядеть так:
for i in {0..99}; do python3 -m runner.player_$i; done
Вы можете заменить точки с запятой на символы новой строки и/или добавить новую строку после do
, если хотите. Я предполагаю, что вы захотите это буквально как однострочник.
Это похоже на проблему XY; конечно, было бы лучше, если бы любой код, реализующий эти 100 модулей, был рефакторинг, чтобы вы могли запускать их все последовательно за один раз.
Это скрипт python или скрипт bash? Вы, кажется, смешиваете синтаксисы двух языков.