You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个Python异步函数的输出结果拼接为单个内容?

解决异步函数输出拼接问题

你当前的代码里,每个异步函数都是直接调用print()输出内容,所以每个结果会单独占一行。要把所有输出拼接成整体,核心是让函数返回结果而非直接打印,之后统一收集并拼接。

修改后的代码如下:

import string
import asyncio
import random  # 补上缺失的random模块导入

async def get_random_string(length):
    letters = string.ascii_uppercase
    result_str = ''.join(random.choice(letters) for i in range(length))
    return result_str  # 返回结果而非直接打印

async def my_function1():
    return str(random.randint(0,9))  # 返回字符串格式的结果

async def my_function2():
    return str(random.randint(100,999))

async def my_function3():
    return str(random.randint(100000,999999))

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    # 用gather收集所有异步任务的返回结果
    results = loop.run_until_complete(asyncio.gather(
        my_function1(), 
        get_random_string(3),
        my_function2(), 
        get_random_string(4), 
        my_function3()
    ))
    # 拼接所有结果并打印
    print(''.join(results))

修改说明:

  • 补上了原代码缺失的import random,否则会触发运行错误
  • 将所有函数里的print()替换为return,让每个异步任务生成结果后返回,而不是直接输出
  • 通过asyncio.gather()的返回值拿到所有任务的结果列表,再用''.join(results)把列表里的所有字符串拼接成一个整体,最后一次性打印

内容的提问来源于stack exchange,提问作者kaycia_g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:26:25