首页 > 解决方案 > 到命令提示符的 Python 输出(并且根本没有)停止工作

问题描述

概括

我曾经从所有打印语句中获取输出,我的 Python 脚本会按预期运行,现在我正常运行它,如果换行符输入命令提示符,请等待大约 3-5 秒,然后在命令提示符下显示一个新行. 这发生在我对给定的测试套件和数据集进行添加时。

细节

我正在为我的老板在 Windows 机器上制作 Python 3.7 机器学习测试套件,并且当我的 python 脚本的输出停止工作时取得了很大进展。我已经搜索了互联网,但没有发现像我这样的情况有任何解决方案,大多数问题都是由于人们没有正确编写脚本造成的。

当我在命令提示符下运行脚本时,我使用“py myscript.py {args}”或“python myscript.py {args}”运行它。我也尝试过使用 -3 和 -3.7 Python 选项。

我对这个问题的调试如下:
-在 main 开头添加了一个打印语句:没有打印输出
-更改了稍后需要的变量的实例化名称,同时保持该变量的使用相同:没有错误输出
-卸载argparse(在脚本中使用)使用 pip 卸载:没有错误输出
-创建了一个单独的 Python 脚本,在 main 中只有一个打印语句:没有输出
-运行 python -V:输出“Python 3.7.2”<br/ > -更改或完全删除 #! 文件顶部的行:没有区别

我正在使用的计算机上只安装了 Python 3.7。我还为 VSC 安装了 Visual Studio Code(VSC) 和相应的 Python 模块,当在带有(或不带有)调试的 VSC 下运行时,Python 脚本在那里完美运行。我试图通过 VCS 的终端运行它,但那里的输出也丢失了。

包含的代码是程序的一小部分,应该回答大多数直接问题。我只是错过了什么吗?

#!python3.7
.
. (import statements)
.
def main():
  print ('Python Output Test\n')
  parser = argparse.ArgumentParser()
  parser.add_argument('-s', '--seed', type=int, default=42, help='Set the seed for the algorithms.')
  parser.add_argument('-q', '--quiet', default=False, action="store_true", help='Use when lots of output is not necessary.')
  parser.add_argument('-r', '--run', type=int, default=0, choices=[0, 1, 2, 3, 4, 5, 6], help='Use to determine which file to use.')
  args = parser.parse_args()

  seed = args.seed
  quiet = args.quiet
  runType = args.run

  print ('MachineLearning.py -s ', seed, ' -r ', runType)
.
. (lots of code that used to work)
.
return 0

if __name__ is "__main__":
  main()

上面的代码应该将这些打印语句输出到命令提示符,或者如果有错误应该报告错误,但我什么也没得到。

标签: windowsoutputcommand-line-interfacepython-3.7

解决方案


推荐阅读