Python執(zhí)行命令異步操作

小樊
81
2024-11-16 23:01:54

在Python中,可以使用asyncio庫(kù)來(lái)執(zhí)行異步操作。asyncio庫(kù)提供了編寫(xiě)并發(fā)代碼的基礎(chǔ)設(shè)施,允許你使用async/await語(yǔ)法編寫(xiě)異步代碼。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用asyncio執(zhí)行異步操作:

import asyncio

async def async_operation(seconds):
    print(f"開(kāi)始執(zhí)行異步操作,等待 {seconds} 秒...")
    await asyncio.sleep(seconds)
    print(f"異步操作完成")

async def main():
    task1 = asyncio.create_task(async_operation(1))
    task2 = asyncio.create_task(async_operation(2))
    
    await task1
    await task2

if __name__ == "__main__":
    asyncio.run(main())

在這個(gè)示例中,我們定義了一個(gè)名為async_operation的異步函數(shù),它接受一個(gè)參數(shù)seconds,表示要等待的秒數(shù)。在函數(shù)內(nèi)部,我們使用await asyncio.sleep(seconds)來(lái)模擬異步操作,如網(wǎng)絡(luò)請(qǐng)求或文件讀寫(xiě)等。

main函數(shù)中,我們創(chuàng)建了兩個(gè)任務(wù)task1task2,分別執(zhí)行async_operation函數(shù),并等待它們完成。最后,我們使用asyncio.run(main())來(lái)運(yùn)行main函數(shù)。

當(dāng)你運(yùn)行這個(gè)程序時(shí),你會(huì)看到以下輸出:

開(kāi)始執(zhí)行異步操作,等待 1 秒...
開(kāi)始執(zhí)行異步操作,等待 2 秒...
異步操作完成
異步操作完成

請(qǐng)注意,由于異步操作的執(zhí)行順序是不確定的,因此輸出的順序可能會(huì)有所不同。

0