Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import asyncio
- import sys
- async def read_stdin():
- """Asynchronously reads lines from stdin."""
- loop = asyncio.get_running_loop()
- reader = asyncio.StreamReader()
- def stdin_reader():
- """Callback to feed data from stdin to StreamReader."""
- data = sys.stdin.read(1024)
- if data:
- reader.feed_data(data.encode())
- else:
- reader.feed_eof()
- loop.add_reader(sys.stdin, stdin_reader)
- try:
- while not reader.at_eof():
- line = await reader.readline()
- if line:
- print(f"Got line: {line.decode().strip()}")
- else:
- break
- finally:
- loop.remove_reader(sys.stdin)
- async def main():
- print("Type something (Ctrl+D to exit):")
- await read_stdin()
- asyncio.run(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement