Last Updated : 28 Apr, 2025
In this article, we will read How to take input from stdin in Python.
There are a number of ways in which we can take input from stdin in Python.
First we need to import sys module. sys.stdin can be used to get input from the command line directly. It used is for standard input. It internally calls the input() method. Furthermore, it, also, automatically adds '\n' after each sentence.
Example: Taking input using sys.stdin in a for-loop Python3
import sys
for line in sys.stdin:
if 'q' == line.rstrip():
break
print(f'Input : {line}')
print("Exit")
Output
Read Input From stdin in Python using input()The input() can be used to take input from the user while executing the program and also in the middle of the execution.
Python3
# this accepts the user's input
# and stores in inp
inp = input("Type anything")
# prints inp
print(inp)
Output:
Read Input From stdin in Python using fileinput.input()If we want to read more than one file at a time, we use fileinput.input(). There are two ways to use fileinput.input(). To use this method, first, we need to import fileinput.
Example 1: Reading multiple files by providing file names in fileinput.input() function argumentHere, we pass the name of the files as a tuple in the "files" argument. Then we loop over each file to read it. "sample.txt" and "no.txt" are two files present in the same directory as the Python file.
Python3
import fileinput
with fileinput.input(files=('sample.txt', 'no.txt')) as f:
for line in f:
print(line)
Output:
Example 2: Reading multiple files by passing file names from command line using fileinput moduleHere, we pass the file name as a positional argument in the command line. fileargument parses the argument and reads the file and displays the content of the file.
Python3
import fileinput
for f in fileinput.input():
print(f)
Output:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4