安装并配置 Google Cloud SDK 后,只需使用 Windows cmd 输入命令名称和参数即可运行命令。
这是例子:
gsutil
但是如果使用 Python 子进程运行,相同的命令会失败。 当子进程的
"C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\gcloud" version
参数设置为 True 时,会出现
shell
:ImportError
......
import subprocess
cmd = '"C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin/gsutil" version'
p = subprocess.Popen(cmd, shell=True)
当子进程的
ImportError: No module named site
参数设置为 False 时,会出现
shell
:WindowsError: [Error 2] The system cannot find the file specified
有没有办法使用Python在Windows上运行
p = subprocess.Popen(cmd, shell=False)
?
gsutil
运行
gsutil
命令。
如果您不只是设置一些测试,如果没有任何技术限制使这种方式不切实际,我建议您从一开始就遵循这种方式。您可以在以下链接查看相关的概述和文档。
取自文档的一个小例子如下:
subprocess.Popen
您可以在此处
from google.cloud import storage
client = storage.Client()
bucket = client.get_bucket('<your-bucket-name>')
blob = bucket.blob('my-test-file.txt')
blob.upload_from_string('this is test content!')
跨平台获取
shutil.which
的完整路径:gsutil