如果我从扫描仪中删除这一行,
await asyncio.sleep(0)
Run Code Online (Sandbox Code Playgroud)
工作时间从5秒增长到400秒。
为什么会发生这种情况?
我的代码:
import os
import asyncio
import time
async def rl(response):
await asyncio.sleep(0)
return response.readlines()
async def scan_Ip(addr):
print(addr)
response = os.popen("ping -n 1 " + addr)
data = await rl(response)
for line in data:
if 'TTL' in line:
print(data)
async def scan():
tasks=[]
for ip in range(0, 256):
tasks.append(asyncio.create_task(scan_Ip(f'192.168.8.{ip}')))
await asyncio.wait(tasks)
if __name__ == '__main__':
start_time = time.time()
asyncio.run(scan())
print(f"--- {time.time() - start_time} seconds ---")
Run Code Online (Sandbox Code Playgroud)