【问题标题】:Empty file when output is written to a file (python gsutil run from cmd)将输出写入文件时为空文件(python gsutil 从 cmd 运行)
【发布时间】:2018-02-11 22:11:28
【问题描述】:

我使用 gsutil 将文件上传到 Google 云存储。我想将输出写入文件。

我已经用这个命令创建了一个快捷方式

%windir%\system32\cmd.exe /k python2 c:\gsutil\gsutil -m rsync -r -n -d "XX" gs://xx/XX > C:\myoutput.txt

我以管理员身份运行 cmd。 output.txt 文件已创建,但脚本退出后为空。

知道如何解决这个问题吗?


老问题:

我尝试在gs://xx/XX 之后添加/myoutput.txt cf here,但它不起作用:我收到Access is denied. 消息。

【问题讨论】:

  • 我猜输出到错误流,与正常输出合并追加2>&1
  • 非管理员用户不能在系统盘根目录下创建文件。如果您在“C:\Temp”等子目录中创建文件,则不需要管理员权限。
  • @LotPings,它正在工作!但是后来我在cmd上没有任何输出。是否可以同时拥有(cmd中的打印和输出文件中的打印)。另请在答案中标记您的评论,以便我接受。

标签: python cmd google-cloud-storage gsutil


【解决方案1】:

我猜输出到错误流,与正常输出合并附加2>&1

要重定向到文件并在屏幕上查看,您需要一个tee or t-pipe 工具。

GNU utilities for Win32 中包含一个或Bill Stewart's Site 中包含一个

所以你的命令可能看起来像(未经测试)

%windir%\system32\cmd.exe /k python2 c:\gsutil\gsutil -m rsync -r -n -d "XX" gs://xx/XX 2>&1|tee "%USERPROFILE%\Desktop\myoutput.txt"

【讨论】:

    【解决方案2】:

    尝试写信到不同的地方或给 cmd 管理员,这将是我的猜测。希望这会有所帮助)

    【讨论】:

    • 谢谢!这确实删除了“访问被拒绝”并允许脚本运行但输出文件为空,即使我在 cmd 上得到了很多打印
    猜你喜欢
    • 2015-05-21
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    相关资源
    最近更新 更多