Python Forum
Thread Rating:
  • 1 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
detect if sys.stdin is ...
#4
The following was tested on Python 3.6.5 using Windows 10 in the United States:
# Tested using Python 3.6.5 on Windows 10 in the United States
#
# Reference: https://python-forum.io/Thread-detect-if-sys-stdin-is

import sys

if sys.stdin.isatty():
    print ("Do Nothing - stdin is either 'tty' or 'null device'.")
else:
    print ("Process 'stdin' from 'pipe' or from 'file redirection'.")
    for i, dataline in enumerate(sys.stdin, start=1):
        print(i, dataline)
The following Windows cmd.exe script was used to test the code (e.g. file abc.bat):
NOTE: The follow is NOT Python code but a Windows .bat file
@echo off

echo Testing stdin           >ScratchStdOut.txt 
echo.                       >>ScratchStdOut.txt 

echo ######################   >>ScratchStdOut.txt 
echo Testing 'Keyboard' stdin >>ScratchStdOut.txt 
python redirectStdin-002.py   >>ScratchStdOut.txt 


echo ######################      >>ScratchStdOut.txt 
echo Testing 'Null Device' stdin >>ScratchStdOut.txt 
python redirectStdin-002.py      >>ScratchStdOut.txt  <nul


echo ###################### >>ScratchStdOut.txt 
rem NOTE: Windows prevents this from running if the redirected 'stdin' file DOES NOT EXIST
rem This creates and deletes file 'Scratch00.txt'
echo Testing 'Redirected' File stdin >>ScratchStdOut.txt 
echo Hello >Scratch00.txt
echo World >>Scratch00.txt
python redirectStdin-002.py >>ScratchStdOut.txt  <Scratch00.txt 
if exist Scratch00.txt del Scratch00.txt

echo ###################### >>ScratchStdOut.txt 
echo Testing 'Pipe' stdin   >>ScratchStdOut.txt 
echo Pipe stdin text - Hello World | python redirectStdin-002.py >>ScratchStdOut.txt  


echo ###################### >>ScratchStdOut.txt 

type ScratchStdOut.txt 
pause
exit
Results using the .bat file:
Output:
Testing stdin ###################### Testing 'Keyboard' stdin Do Nothing - stdin is either 'tty' or 'null device'. ###################### Testing 'Null Device' stdin Do Nothing - stdin is either 'tty' or 'null device'. ###################### Testing 'Redirected' File stdin Process 'stdin' from 'pipe' or from 'file redirection'. 1 Hello 2 World ###################### Testing 'Pipe' stdin Process 'stdin' from 'pipe' or from 'file redirection'. 1 Pipe stdin text - Hello World ######################
See the .zip file attachment containing:
a. RedirectStdin-002.bat
b. RedirectStdin-002.py

Lewis

Attached Files

.zip   RedirectStdin-002.zip (Size: 845 bytes / Downloads: 198)
To paraphrase: 'Throw out your dead' code. https://www.youtube.com/watch?v=grbSQ6O6kbs Forward to 1:00
Reply


Messages In This Thread
detect if sys.stdin is ... - by Skaperen - May-28-2018, 03:34 AM
RE: detect if sys.stdin is ... - by ljmetzger - May-30-2018, 04:10 AM
RE: detect if sys.stdin is ... - by Skaperen - May-30-2018, 06:39 AM
RE: detect if sys.stdin is ... - by ljmetzger - May-30-2018, 01:18 PM
RE: detect if sys.stdin is ... - by Skaperen - May-30-2018, 11:49 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  When is stdin not connected to a tty, but can still be used interactively? stevendaprano 1 1,044 Sep-24-2022, 05:06 PM
Last Post: Gribouillis
  STDIN not working H84Gabor 3 3,666 Sep-06-2021, 08:10 AM
Last Post: H84Gabor
  How to read a file using stdin? pyth0nus3r 1 2,876 Aug-24-2019, 01:14 AM
Last Post: Larz60+
  What is the sys.stdin.isatty() command? pyth0nus3r 2 11,573 Aug-22-2019, 04:37 PM
Last Post: pyth0nus3r
  getting error "exec_proc.stdin.write(b'yes\n') IOError: [Errno 32] Broken pipe" Birju_Barot 0 2,968 Jul-23-2019, 11:50 AM
Last Post: Birju_Barot
  is it safe to close stdin Skaperen 1 2,710 Apr-04-2019, 06:57 AM
Last Post: Gribouillis
  Need help with reading input from stdin into array list Annie123 2 5,112 Mar-24-2019, 01:19 PM
Last Post: Annie123
  storing lines from stdin in a list bghosh 2 3,019 May-02-2018, 01:12 PM
Last Post: gruntfutuk
  How can I use GNU readline when the value of sys.stdin has been changed? thePhysicist8 6 7,166 Dec-30-2016, 10:09 AM
Last Post: Skaperen

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020