在PyCharm中使用标准输入(stdin)

10

我开始使用PyCharm,但好像无法在命令行中以同样的方式运行程序:

我通常会这样运行程序:

python parse_file.py < test.txt

当parse_file.py可以简单如下:

import sys
for line in sys.stdin:
    print line

我无法在配置中找到在哪里进行设置,我尝试在脚本参数中输入类似于<test.txt的内容,但没有成功。

我查看了https://www.jetbrains.com/pycharm/help/run-debug-configuration-python.html,但那里也没有成功。

谢谢。


一种方法是从PyCharm的终端菜单中运行程序。$python prog1.py < input_1.txt并不是最好的解决方案,但是也是一个可行的方法。 - Ajax
2个回答

4

PyCharm的运行配置不支持标准输入重定向。请考虑更改您的脚本,使其直接从文件中读取输入,而不是通过标准输入重定向。


例如,使用fileinput:https://dev59.com/hGEi5IYBdhLWcg3wHJAR#23942485 - Anton Tarasenko
在最近的PyCharm版本中(特别是2020.2专业版),在运行配置对话框中的“执行”下有一个名为“重定向输入自”的选项。 - drevicko

1

有一个解决方案,但它不是可移植的,你需要将其适应你的操作系统。我将为Windows进行描述。

  1. 在“文件”>“设置”>“工具”>“外部工具”中创建一个新配置,给它一个你选择的名称(例如:cmd输入重定向)。
  2. 在表单底部,对于程序类型,输入cmd.exe。在参数中,输入/c "$JDKPath$ parse_file.py < test.txt"双引号很重要),并将工作目录配置为存储文件的文件夹。
  3. 可选地,您可以使用宏(右侧的按钮)替换一些硬编码值为等效的变量,这可能有助于将您的外部工具配置转化为可重用的内容。

现在,您可以右键单击项目中的文件,并选择“外部工具>cmd输入重定向”。

这个过程唯一让人烦恼的是,当你编辑代码时,无法通过快捷方式重新运行外部工具。要重新运行,必须将焦点设置在“运行”选项卡上,然后使用Ctrl + F5(或单击绿色三角形“重新运行‘cmd输入重定向’”)。
希望这有所帮助,问候。

它也不会让你调试程序。 - Victor Sergienko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接