gsutil在子进程中出现语法错误.波本



在我的案例中,我想将所有pdf文件上传到谷歌云存储。

所以我使用带有pytho子流程的google-sdk进行练习,而不是"google.cloud.storage API";。

但下面有一个错误:

代码:

from subprocess import Popen
def subprocess_cmd(command):
print(f'$>: {command}')
process = Popen(command,
stdout=subprocess.PIPE,
executable='/bin/bash',
shell=True)
proc_stdout = process.communicate()[0].strip()
print(proc_stdout.decode("utf-8"))

执行功能

command = "gsutil -m cp -r ./source/*(.pdf|.PDF) gs://<bucket_name>"
subprocess_cmd(command)

错误

/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `gsutil -m cp -r ./source/*(.pdf|.PDF) gs://<bucket_name>'

您应该使用以下行:

command = "gsutil -m cp -r ./source/{*.pdf,*.PDF} gs://<bucket_name>"

请参阅本文档中有关bash通配符的{ } (curly brackets)部分。您还可以看到有关gsutil通配符的文档。

相关内容

  • 没有找到相关文章

最新更新