问候 StackOverflow,
我正在 Windows 上开发一个小项目,它需要读取 GSUTIL 复制函数的输出。问题是,复制功能的输出似乎无法通过标准输出工作。此外,GSUTIL 的行为不一致:管道输出不能与复制函数一起使用,但使用列表函数却可以。
当我在命令提示符中使用以下命令时,输出显示在命令提示符中,但不会重定向到文本文件。该命令无法正常工作:
C:\gsutil> python gsutil cp "file://C:/test_files/*" gs://gs_teststore/ > gsutil_cp.txt
另一方面,当我使用列表函数时(ls
)输出确实通过标准输出工作,并在我希望的情况下工作:
C:\gsutil> python gsutil ls gs://gs_teststore/ > gsutil_ls.txt
有没有办法捕获 GSUTIL 复制函数的输出?
您可以使用 -L 选项生成所有已复制文件的清单文件。从文档:
-L 输出清单日志文件,其中包含有关所复制的每个项目的详细信息。该清单包含以下内容
每个项目的信息:
- 源路径。
- 目的地路径。
- 源大小。
- 传输的字节数。
- MD5 哈希值。
- UTC 日期和时间传输以 ISO 8601 格式开始。
- UTC 日期和时间传输以 ISO 8601 格式完成。
- 上传 ID(如果执行了可恢复上传)。
- 尝试上传的最终结果,成功或失败。
- 失败详细信息(如果有)。
一个具体的例子:
$ echo "hey" | gsutil cp -L manifest.txt - gs://mybucket/hey.txt
Copying from <STDIN> [Content-Type=application/octet-stream]...
$ cat manifest.txt
Source,Destination,Start,End,Md5,UploadId,Source Size,Bytes Transferred,Result,Description
file://-,gs://mybucket/hey.txt,2013-05-29T21:29:31.847715Z,2013-05-29T21:29:32.115624Z,081ecc5e6dd6ba0d150fc4bc0e62ec50,,,0,OK,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)