【问题标题】:How do I access sys.stdin when running a script in PyCharm console mode在 PyCharm 控制台模式下运行脚本时如何访问 sys.stdin
【发布时间】:2020-10-26 07:52:06
【问题描述】:

这在我在 PyCharm (v2020.1) 终端中运行时有效,但是当我通过控制台运行它时,它只是挂起:

#test.py

import sys

txt = sys.stdin
print(txt.read())
# readme.txt

random string

【问题讨论】:

  • 您能尝试使用Redirect input from 选项吗?它位于屏幕截图的底部。
  • 谢谢,这似乎有效。如果我只想捕获命令行参数怎么办?奇怪的是我的方式没有产生预期的结果

标签: python python-2.7 pycharm


【解决方案1】:

在运行配置对话框中,Parameters 字段是指定要传递给脚本的命令行参数,然后可以使用sys.argv 访问该脚本。要从 sys.stdin 获取输入,您可以使用 Redirect input from 字段。

通常的 shell redirection functionalities 每个都有自己的字段(注意它们在 shell 之间可能不同,例如与 Windows CMD 比较)。每个功能对应一个字段,Redirect input from、Before launch 相当于在重定向输入之前运行命令,Logs 选项卡用于将结果重定向到输出等...

这很方便有几个原因。首先是因为它以结构化的方式为您提供了 shell 语法,无需将所有内容都写在一行上(与直接在命令行上写相反)。其次,因为您可能正在与使用different shells/OS's(或想自己测试不同的shell)的开发人员一起开发一个项目,所以使用运行/配置对话框允许抽象shell语法的差异并重用或共享“运行配置”如果你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2016-06-08
    • 2015-05-11
    • 1970-01-01
    相关资源
    最近更新 更多