Python刷题的时候编写测试用例的输入重定向

如题,刷题的时候程序需要从标准(input())输入获取数据,如果每次运行代码都需要手动的在console复制题目的样例输入就很费事,输入重定向可以解决这个问题,实行起来有两种方式:

  1. 使用io.StringIO
import io
import sys


def func():
    n = int(input())
    lst_str = [input().strip() for _ in range(n)] # 多行数据
    lst_int = list(map(int, input().split())) # 一个数组
    print(lst_str)
    print(lst_int)


def main():
    sys.stdin = io.StringIO('''3
                            line 1
                            line 2
                            line 3
                            1 2 3 4 5''')
    func()


if __name__ == '__main__':
    main()

  1. 使用PyCharm的文件重定向
  • 在Python脚本同级目录下新建一个和脚本同样名字(我的习惯)的txt文件:



  • 然后在PyCharm右上角文件运行的地方找到运行配置Edit Configurations
    Edit Configurations
  • Execution中勾选Rediract input from:选项
    Rediract input from:
  • 勾选之后在浏览右边的目录找到条txt文件作为输入从定向文件就行了:


  • 脚本运行的时候console会显示是从文件进行的输入重定向:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容