Я видел несколько вопросов, подобных этому, но ни один из них действительно не помогает в моей конкретной ситуации. У меня есть скрипт, который перебирает каталог текстовых файлов, каждый из которых имеет одну командную строку в нем, которая должна запускаться через командную строку. Базовая схема выглядит следующим образом:Цикл событий в Python для взаимодействия с CMD
for _, _, files in os.walk(my_directory):
for f in files:
fo = open(my_directory + f, 'r')
command = fo.readlines()
os.system(command)
#rest of the code...
Когда я проверить это только один файл он работает нормально, но когда я их все вместе в каталоге, они, похоже, останавливаться на случайных точках в каждой команде. Я думаю, это потому, что они перекрываются и не успевают закончить (конкретная команда - довольно долгий процесс для запуска, около 2 минут каждый). Как я могу убедиться, что каждый вызов os.system проходит полностью, прежде чем переходить к следующему?
os.system не будет продолжаться, пока команда не будет завершена ... так перекрывающиеся команды не ваша проблема –
я не думаю, что это, тем не менее, когда я добавил оператор печати для проверки и он передает команды в os.system() правильно, и когда я вхожу в команды файлов непосредственно в CMD, все они работают. Разве это возможно, что они задерживаются надолго и время от времени или что-то в этом роде? – thnkwthprtls
Я подозреваю, что проблема заключается в том, что readlines возвращает список ... os.system не ожидает списка ... попробуйте что-то вроде 'для cmd в команде: os.system (cmd)' –