Ниетер. subprocess.run('cd directory')
просто изменил каталог подпроцесса, который затем завершился, отбросив контекст измененного каталога. os.chdir(path)
не всегда безумие, просто безумие на 99%. Лучше использовать os.path
или pathlib
для отслеживания каталогов и не менять значение слова «текущий» во всей программе.
Использование внешних команд дает преимущество, особенно если они реализуют функции, которые вы не используете. нет в данный момент. Они также могут помочь распараллелить ваш код, например, запустить внешний grep
и использовать его результаты. Недостатком этого является добавление внешних зависимостей платформы.
Часто это происходит только потому, что программист понимает оболочку лучше, чем python. Или нашел пример оболочки на net. Это нормально для любителя, не имеющего профессиональной базы кода.
Отказ от ответственности: IMHO