Проблемы с командой, использующей подстановочный знак * в подпроцессе
Я пытаюсь скопировать файлы из одного места в другое, используя библиотеку подпроцессов и метод Popen. При выполнении следующего скрипта я получаю сообщение об ошибкеcp: cannot stat /some/dev_path/*
, Мне сказали, что*
не раскрывается до имен файлов и проблем. Также в некоторых других сообщениях люди предлагали использовать call вместо Popen, но насколько я знаю, call не вернет stderr.
devPath = '/some/dev_path/'
productionPath = '/some/prod_path/'
p = subprocess.Popen(['cp', '-r', devPath + '*', productionPath], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
pout, perr = p.communicate()
if perr != '':
sys.exit('Error: ' + perr)