如何使用列表自动填充Python模块的输入参数
解决方法
方法1:修改函数接受参数(推荐)
直接调整testing函数,让它接受外部传入的参数,替代原本的input()手动输入逻辑:
def testing(var): print("You entered: " + var) # 遍历列表调用函数 for i in ['lol','lel','lal']: testing(i)
方法2:不修改原函数,重定向标准输入
如果无法改动原模块的testing函数,可以通过重定向Python的标准输入流,让input()自动读取列表中的字符串:
import sys from io import StringIO def testing(): var = input("Please enter something: ") print("You entered: " + var) for i in ['lol','lel','lal']: # 保存原有标准输入 original_stdin = sys.stdin try: # 将目标字符串转为可读取的输入流 sys.stdin = StringIO(i) testing() finally: # 恢复原有标准输入,避免影响后续操作 sys.stdin = original_stdin
内容的提问来源于stack exchange,提问作者jonathanc
相关产品推荐
相关产品推荐

