我如何在命令行上使用PyCharm重定向输入和输出?

 周佳君7284 发布于 2023-01-29 12:35

使用命令行,如果我正在运行python文件,我可以输入:

python filename.py < filename.in > filename.out

有没有办法模仿PyCharm中的这种行为?

2 个回答
  • (在Pycharm 5中添加)

    在选项卡Edit Configurations下的屏幕中,Logs选中选项: Save console output to file并为输出文件提供FULL PATH.就是这样 - 就像魔法一样

    在此输入图像描述

    2023-01-29 12:37 回答
  • 将输入文件重定向到stdin

    您可以使用将内容加载到stdin StringIO

    import StringIO
    sys.stdin = StringIO.StringIO('your input')
    

    因此,如果要从文件重定向输入,则可以从文件读取数据并将其加载到stdin

    import StringIO   
    input = "".join(open("input_file", "r").readlines())
    sys.stdin = StringIO.StringIO(input)
    

    如果您想将filename作为第一个系统参数

    import StringIO   
    filename = sys.argv[1]
    input = "".join(open("input_file", "r").readlines())
    sys.stdin = StringIO.StringIO(input)
    

    屏幕截图:

    主程序

    调试配置

    将标准输出重定向到输出文件

    与下面的示例代码类似的想法

    import sys
    sys.stdout = open(outputFile, mode='w', buffering=0)
    #skip 'buffering' if you don't want the output to be flushed right away after written
    

    2023-01-29 12:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有