Python - store output of command to a variable


 
Thread Tools Search this Thread
Top Forums Programming Python - store output of command to a variable
# 1  
Old 11-17-2017
Python - store output of command to a variable

I am trying to store output of python command in variable. Could you please help how I can do that ?

For example I am executing the following command - "CentOS" in server_desc
The output would be True or False
I would like to store the output in a variable say outPut and use condition something like -
Code:
if outPut == "True":
    do_something
else:
     do_otherthing

I just started learning python - please help/guide me.

Last edited by rbatte1; 11-17-2017 at 11:46 AM.. Reason: Changed HTML to CODE or ICODE tags
# 2  
Old 11-17-2017
Hello atanubanerji,

I have a few to questions pose in response first:-
  • What have you tried so far?
  • What output/errors do you get?
  • What OS and version are you using?
  • Beyond Python, what are your preferred tools? (C, shell, perl, awk, etc.)
  • What logical process have you considered? (to help steer us to follow what you are trying to achieve)
Most importantly, What have you tried so far? Please share your code so far, wrapped in CODE tags. That way we can see how you are using it and make suggestions.

There are probably many ways to achieve most tasks, so giving us an idea of your style and thoughts will help us guide you to an answer most suitable to you so you can adjust it to suit your needs in future.


We're all here to learn and getting the relevant information will help us all.





Thanks, in advance,
Robin
# 3  
Old 11-17-2017
Thank you very much Robin for your help.

I have to execute some action if the server is CentOS.

The server_description variable may or may not store CentOS key word among few other words. So I was thinking, if I could execute
"CentOS in server_description which would return either "True" or "False". If it is True, the python would perform some action. I have been advised to store the True or False value in another variable.

My problem is I am unable to store True or False in other variable, say, my_Check.

If I could do that, probably I could use the following -
Code:
if my_check == "True":
    do_something
else:
     do_otherthing

Could you please advice, how I can store a command's output, here, "CentOS in server_description in a variable (or any other python level command later) and use the value of the variable whenever required.
e.g.
Code:
server_description = "This is xyz abc of mno CentOS"
my_Check = "CentOS" in server_description
if my_Check == "True":
    print("This is CentOS")
else:
    print("This is NOT CentOS")

The output I am getting is "This is NOT CentOS"
CentOS 7.4 is OS version and Python 3.4.5
I could do it using shell, but I have been asked to use Python only, as the action to be performed based on the condition, if True or False, is already written in Python.
Please don't consider my objective is to print either CentOS or NOT CentOS, rather some other successfully written python code that I will be pasting in if or else section.

While testing, I found this, but not sure why it is not working...
Code:
>>> server_description = "CentOS"
>>> my_Check = "centos" in server_description
>>> my_Check
False
>>> my_Check = "CentOS" in server_description
>>> my_Check
True


Last edited by rbatte1; 11-17-2017 at 11:48 AM.. Reason: Converted HTML to CODE or ICODE tags and corrected some spelling
# 4  
Old 11-17-2017
Try this:
Code:
server_description = "This is xyz abc of mno CentOS"
my_Check = "CentOS" in server_description
if my_Check == True:
    print("This is CentOS")
else:
    print("This is NOT CentOS")

Don't quote the "True". By quoting the "True" you were comparing a Boolean with a string. But the truth is you don't even need that:
Code:
server_description = "This is xyz abc of mno CentOS"
my_Check = "CentOS" in server_description
if my_Check:
    print("This is CentOS")
else:
    print("This is NOT CentOS")

Or even:
Code:
server_description = "This is xyz abc of mno CentOS"
if "CentOS" in server_description:
    print("This is CentOS")
else:
    print("This is NOT CentOS")

As for this:
Code:
>>> server_description = "CentOS"
>>> my_Check = "centos" in server_description
>>> my_Check
False
>>> my_Check = "CentOS" in server_description
>>> my_Check
True

Python is case-sensitive. "centos" is not "CentOS". If you want a case-insensitive string comparison, try:
Code:
"centos".lower() in server_description.lower()

There may be other ways.

Andrew
This User Gave Thanks to apmcd47 For This Post:
# 5  
Old 11-19-2017
Thank you very much Andrew !! Appreciate your advice.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to store output to a variable

I need some help: 1) I have a out put from a shell script, the out put looks like this: Attempting privilege escalation using sudo ... List backups for CLTST: Start date Status Ret. Class Label -------------------- ------------ ------------ ... (2 Replies)
Discussion started by: samk
2 Replies

2. Shell Programming and Scripting

store sqlplus output in variable

hi how can i store sqlplus output to a variable in sh script (not bash) Thanks MM (1 Reply)
Discussion started by: murtymvvs
1 Replies

3. Shell Programming and Scripting

Not able to store command inside a shell variable, and run the variable

Hi, I am trying to do the following thing var='date' $var Above command substitutes date for and in turn runs the date command and i am getting the todays date value. I am trying to do the same thing as following, but facing some problems, unique_host_pro="sed -e ' /#/d'... (3 Replies)
Discussion started by: gvinayagam
3 Replies

4. Shell Programming and Scripting

date output store in variable problem

When I run following command date Output1 => Thu Sep 9 03:26:52 IST 2010 When I store in a varibale as a=`date` echo $a output2 => Thu Sep 9 03:27:02 IST 2010 The differnece is, it is trimming the space when I am storing the output in varibale. Output1 = Thu Sep 9 03:26:52 IST 2010... (2 Replies)
Discussion started by: pravincpatil
2 Replies

5. Shell Programming and Scripting

remove column and store output to a variable

Hello guys I need to run a script to remove the last column of different comma separated files. The problem is that the number of columns of my files will be different and I won't know that number every time i run my script. Is there any command I can use to remove the last column without... (7 Replies)
Discussion started by: loperam
7 Replies

6. Shell Programming and Scripting

store the output of "find" command in a variable?

I intend to find the path/full location of a file(filename given by user thru "read filenme") using "find" or any other command and then store it's output in a variable for some other processing. But struggling to put all things together (i.e finding the fully qualified location of that file and... (4 Replies)
Discussion started by: punitpa
4 Replies

7. Shell Programming and Scripting

ksh: How to store each output line into a different variable?

Example output: /tmp/generatelines.sh line1 line2 line3 line4 I want each output line assigned to its own variable, ie: "line1" --> $a "line2" --> $b "line3" --> $c "line4" --> $d Is this possible without writing to a temporary file? Thanks (4 Replies)
Discussion started by: ksheller
4 Replies

8. Shell Programming and Scripting

How to store the sql query's output in a variable

Hi, My requirement is : We are calling an sql statement from a UNIX session, and fetching data into some variables from a table .. now we are unable to access these variables from outside the SQL part. Please let me know how can I achieve this. Can you please share a code snippet which... (4 Replies)
Discussion started by: venkatesh_sasi
4 Replies

9. Shell Programming and Scripting

To store the output in a variable

Hi, I am getting the following error while executing the script. Please can someone throw some light where is the problem. Many thanks. ./check: temp: not found The directory related to SEP instance 4 does not exist. The script is as follows. SEP_APP="/scp/sepx/app... (2 Replies)
Discussion started by: Sudhakar333
2 Replies

10. UNIX for Dummies Questions & Answers

How to store output in variable when put in background

Hi, How do I store following command output: export RESULT=`date` & It works when I do : export RESULT=`date` But what I need is when command put it background, I also need that output going to RESULT variable. Is there any way ? Thanks Sanjay (1 Reply)
Discussion started by: sanjay92
1 Replies
Login or Register to Ask a Question