pycharm:在“调试”模式下从标准输入读取

时间:2014-09-25 23:07:18

标签: python debugging pycharm

我在PyCharm中调试这个脚本:

import sys

def read_in():
    lines = sys.stdin.readlines()
    for i in range(len(lines)):
        lines[i] = lines[i].replace('\n','')
    return lines

def main():
    lines = read_in()
    print lines

if __name__ == '__main__':
    main()

我通常使用像cat data.txt | python script.py这样的命令调用此脚本,该命令将data.txt提供给标准输入。

我的问题是我如何在PyCharm中设置“运行/调试配置”,它以相同的方式将data.txt提供给标准输入,但这将允许我使用PyCharm的真棒调试模式?我怀疑我需要正确地填写“脚本参数”字段 - 但到目前为止我还没有这样做。

感谢。

1 个答案:

答案 0 :(得分:1)

就个人而言,我只是使用patch用一个Mock替换sys.stdin.readlines(),并返回你想要的返回值。将其放入单元测试中,然后运行单元测试。

另外,请参阅 Reading from a file with sys.stdin in Pycharm