Hi I have a very naive question.
I have this piece of python code test.py
that I am trying to test run.
May I know how do I run it using my own inputs?
I tried running it on my command line using
python3 test.py ABCD
but the command line does not return anything..
I have also tried python3 test.py ABCD.txt
where ABCD.txt
contains the line ABCD but also to no avail...
Any help would be greatly appreciated, thank you.
import sys
output = []
for ln in sys.stdin:
for c in ln:
if c in 'ABCD':
output.append(c)
sys.stdout.write(''.join(output) '\n')
CodePudding user response:
python3 test.py < ABCD.txt
as suggested by keith works, thank you everyone!
CodePudding user response:
Running the code like python code.py a b c d
will result in storing a, b, c, and d as input command line arguments. So to handle that you need to use sys.argv
and edit the code as follows.
import sys
output = []
for ln in sys.argv:
for c in ln:
if c in 'ABCD':
output.append(c)
sys.stdout.write(''.join(output) '\n')
check here for more info.
However, all standard inputs to an application are handled using <
command. Just like the standard output which is handled by >
.
So to run the just add <
like :python3 test.py < ABCD
and it should be ok.