Я пытаюсь переместить папку в другую папку, но получаю сообщение об ошибке «Отказано в доступе», когда я пытаюсь выполнить эту операцию в скрипте Python, и перемещение успешно работает, когда я запускаю ее в bash или даже в интерактивном режиме Python.
cmd = ['sudo', 'mv', '/path1/dir', '/path2']
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
if p.returncode != 0:
print(stderr)
Я также пытался добавить shell = True.
p = subprocess.Popen(' '.join(cmd), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
if p.returncode != 0:
print(stderr)
В обоих случаях я получаю следующую ошибку:
"mv: cannot move '/path1/dir' to '/path2/dir': Permission denied\n"
Я вызываю свой скрипт вследующим образом:
sudo python script.py
Я пытался выполнить каждую команду в оболочке, а также в интерактивном режиме Python, и я не получаю никаких ошибок.Есть идеи, что здесь происходит?