【问题标题】:Why does os.system('cls') print 0 [duplicate]为什么 os.system('cls') 打印 0 [重复]
【发布时间】:2020-06-15 16:46:12
【问题描述】:

您好,在我说任何事情之前,我想让您知道我尝试寻找答案,但一无所获。

每当我使用os.system('cls') 时,它都会清除屏幕,但会打印出一个零。

这是正常的,如果不是,我该如何阻止它这样做?

【问题讨论】:

  • _ = os.system('cls') 然后你明确放弃退出状态,而不是让 REPL 隐式打印它。但是在脚本中你根本不需要这样做,因为你一开始就没有 REPL 打印返回值。
  • 我很好奇你用什么来搜索别人能够找到 2 个解决方案。
  • 堆栈溢出我搜索了“为什么 os.system("cls") 打印 0”我什么也没找到

标签: python


【解决方案1】:

因为os.system() returns the return code of the process

在 Windows 上,返回值是系统 shell 运行命令后返回的值。

对于成功的命令,这是零。

由于您在交互式解释器中运行(否则不会发生这种情况),它会打印函数的返回值 0

当您运行独立脚本时,例如clear_hello.py

os.system('cls')
print('Hello!')

你不会看到零。

【讨论】:

    【解决方案2】:

    我猜你是在解释器里面跑的

    os.system 将返回:

    一个16位的数字,低字节是杀死进程的信号号,高字节是退出状态(如果信号号为零)

    所以它只是打印它得到的值,命令行中命令cls的返回值,即0导致命令运行成功

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多