Подпроцесс приводит к выводу, отличному от прямой консоли - PullRequest
1 голос
/ 18 июня 2019

Я передаю команду через подпроцесс, чтобы скопировать папку в другую папку, но вывод возвращается другим

Я попытался использовать тот же код подпроцесса в консоли cmd, в то время как консоль копирует всю папку, а версия подпроцесса копирует только содержимое источника.

subprocess.Popen('xcopy /S /Y /i C:\\sourceFolder sourceFolder', cwd='C:\\whatever\\')
C:\\whatever>xcopy /S /Y /i C:\\sourceFolder sourceFolder

Когда выполняется подпроцесс, папка «что угодно» заполняется содержимым «sourceFolder»: C:\whatever\(file1,file2,file3)

Когда фактическая команда выполняется непосредственно в cmd, папка 'what' заполняется папкой 'sourceFolder', что является ожидаемым выводом: C:\whatever\sourceFolder\(file1,file2,file3)

почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...