Можете ли вы переместить файлы в экземпляр виртуальной машины gcloud с помощью Python - PullRequest
0 голосов
/ 27 октября 2019

С помощью Python вы можете перемещать файлы в хранилище, но я уверен, что вы не можете сделать это с экземпляром виртуальной машины. Кажется довольно смешным, что вы можете сделать одно, но не другое. У меня 93 000 файлов, и я могу перемещать только 1/4 из них за раз. Кроме того, мне нужно сжать их все, прежде чем переместить, а затем удалить их. Делать все это мне нужно, чтобы запрограммировать это на Python. Кроме того, я переформатировал свой текущий внешний жесткий диск в другой формат (тот, который работает для Mac, Linux и Windows), и теперь я в основном не могу перемещать файлы в нем с помощью графического интерфейса, но приходится перемещать их с помощью командной строки или Python. Я попытаюсь заставить Python выполнять команды терминала, если это возможно, или, возможно, написать проблему с эхом. Если кто-нибудь знает, как проще обойтись, пожалуйста, дайте мне знать. Опять же, мой самый важный вопрос - можно ли использовать Python для перемещения файлов с персонального ноутбука на экземпляр виртуальной машины gcloud.

1 Ответ

0 голосов
/ 27 октября 2019

Я нашел подходящий обходной путь. Модуль subprocess является хорошей заменой командной строки в Python. Они не очень четко объясняют это в документации, но вы должны поместить аргументы в виде списка строк в качестве первого аргумента при вызове класса подпроцесса, например:

import subprocess
str1 = '/volumes/iweb/as_lists/61.pkl'
subprocess.run(['gcloud','compute','scp',str1,'your_instance@instance-4:/mnt/disks/temp_dir/61.pkl'])

Так что gcloud команда принимает 4 аргумента, и каждый из них должен быть помещен в список, который является первым аргументом класса subprocess.run.

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