подпроцесс неправильно интерпретирует каталог MacOS `/ private` - PullRequest
0 голосов
/ 08 мая 2020

Я озадачен интересным вопросом: я пытаюсь выполнить команду, которая копирует локальный файл в контейнер Postgres Docker. Код:

command = "docker cp /tmp/app/dump.sql postgres-app:/tmp/postgres/backup/"
process = subprocess.Popen(
    shlex.split(command), stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
stdout, stderr = process.communicate()

Как ни странно, stderr возвращает:

lstat /private/tmp/app/dump.sql: no such file or directory

Я выполняю эти команды из этого каталога на моем Ma c:

/Users/my-name/path/to/project

Основываясь на моем исследовании, каталог /private, на который ссылается ошибка , является функцией файловой системы Ma c . Кажется, что некорректная ссылка на каталог (с добавлением /private) передается подпроцессу Python, и я не уверен, как я могу это исправить.

Спасибо за любую помощь ... Я тестирую эту функциональность локально, но этот файл в конечном итоге будет развернут в ванильной среде Linux, где каталог /private не будет проблемой. Это просто очень своеобразный вопрос. :-)

1 Ответ

0 голосов
/ 09 мая 2020

Ну, глупый я. dump.sql был назван backup.sql. Не знаю, сколько часов я потратил на это ... Всегда начинайте с самого очевидного, ребята. Дело закрыто.

...