Sponsored Content
Full Discussion: Pass bash variable to python
Top Forums Shell Programming and Scripting Pass bash variable to python Post 303041987 by wisecracker on Tuesday 10th of December 2019 11:15:45 AM
Old 12-10-2019
You could modify this method to suit your needs...
Code:
# get_variable_from_external_command.py

# # with subprocess

# import subprocess
# proc = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
# out, err = proc.communicate()
# print(out)

# # without subprocess
# This method works with any Python from Version 1.4.0 to the current 3.8.0.

import os

filelist = os.popen("ls -l")
text = filelist.read()
filelist.close()
print(text)

EDIT:
'Printf' in your code should read 'printf'...

Last edited by wisecracker; 12-10-2019 at 12:37 PM.. Reason: Mention Printf...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash vs Python

Python is obviously better than expect for many reasons such as efficieny, opsys availabiliy, functions etc), but can anybody tell me how it is better structurally. I.e. If automating a procedure such as 'Autoftp' login why is Python better than Bash? Yes it uses only one file, istead of the two... (4 Replies)
Discussion started by: BISH
4 Replies

2. Shell Programming and Scripting

How to pass passwords to bash scripts?

I'm finding the following command very tedious to type in all the time, so I created a one line bash script called mount.bash with the following contents: mount -t cifs //mark/C\$ -o unc=//mark\\C$,ip=10.1.1.33,user=Administrator,password=$1 /mnt/mark I don't like the fact that I have to put... (5 Replies)
Discussion started by: siegfried
5 Replies

3. Programming

Python: bash-shell-like less functionality in the python shell

Hello, Is there some type of functional way to read things in the Python shell interpreter similar to less or more in the bash (and other) command line shells? Example: >>> import subprocess >>> help(subprocess) ... ... I'm hoping so as I hate scrolling and love how less works with... (0 Replies)
Discussion started by: Narnie
0 Replies

4. Shell Programming and Scripting

How to pass a function with a variable parameter into another variable?

Hello again :) Am currently trying to write a function which will delete a record from a file. The code currently looks as such: function deleteRecord() { clear read -p "Please enter the ID of the record you wish to remove: " strID ... (2 Replies)
Discussion started by: U_C_Dispatj
2 Replies

5. Red Hat

How to pass value of pwd as variable in SED to replace variable in a script file

Hi all, Hereby wish to have your advise for below: Main concept is I intend to get current directory of my script file. This script file will be copied to /etc/init.d. A string in this copy will be replaced with current directory value. Below is original script file: ... (6 Replies)
Discussion started by: cielle
6 Replies

6. Shell Programming and Scripting

cannot pass a echo output to a variable in bash

Hi, I have a problem with passing a echo output into a variable in bash file='1990.tar' NAME='echo $file | cut -d '.' -f1'; echo $NAME the result is echo $file | cut -d . -f1 however with this one,#!/bin/bash file='1990.tar' echo $file | cut -d '.' -f1 the result is what I... (2 Replies)
Discussion started by: 1988PF
2 Replies

7. Shell Programming and Scripting

Pass arguments to bash script

myscript.sh #!/bin/bash ARGA=$1 if ; then echo "${ARGA}:Confirmed" else echo "${ARGA}:Unconfirmed" fi when I run the above script from the command line, i run it as: ./myscript.sh jsmith now some times, i need to runn it this way: (8 Replies)
Discussion started by: SkySmart
8 Replies

8. Shell Programming and Scripting

Pass some data from csv to xml file using shell/python

Hello gurus, I have a csv file with bunch of datas in each column. (see attached) Now I have an .xml file in the structure of below: ?xml version="1.0" ?> <component id="root" name="root"> <component id="system" name="system"> <param name="number_of_A" value="8"/> ... (5 Replies)
Discussion started by: Zam_1234
5 Replies

9. Shell Programming and Scripting

Pass File name and Directory Path through command to python script

I'm writing python script to get the file-names in the current directory and file sizes .I'm able to get file list and their sizes but unable to pass them through command line. I want to use this script to execute on other directory and pass directory path with file name through command line. Any... (1 Reply)
Discussion started by: etldeveloper
1 Replies

10. UNIX for Beginners Questions & Answers

Need to pass variable in a command and assign value to a variable

Hello All, Hope you're doing well ! I am trying below command to be passed in a shell script, header_date_14 is a variable and $1 is the name of a file I intend to pass as a command line argument, however command line argument is not being accepted. header_date_14=$(m_dump... (8 Replies)
Discussion started by: ektubbe
8 Replies
Arch::Run(3pm)						User Contributed Perl Documentation					    Arch::Run(3pm)

NAME
Arch::Run - run subprocesses and capture output SYNOPSIS
use Gtk2 -init; use Arch::Run qw(poll run_async LINES); my $window = Gtk2::Window->new; my $label = Gtk2::Label->new; my $pbar = Gtk2::ProgressBar->new; my $vbox = Gtk2::VBox->new; $vbox->add($label); $vbox->add($pbar); $window->add($vbox); $window->signal_connect(destroy => sub { Gtk2->main_quit; }); $window->set_default_size(200, 48); $window->show_all; sub set_str { $label->set_text($_[0]); } my $go = 1; # keep progress bar pulsing Glib::Timeout->add(100, sub { $pbar->pulse; poll(0); $go; }); run_async( command => [ 'du', '-hs', glob('/usr/share/*') ], mode => LINES, datacb => sub { chomp(my $str = $_[0]); set_str($str); }, exitcb => sub { $go = 0; set_str("exit code: $_[0]"); }, ); Gtk2->main; DESCRIPTION
Arch::Run allows the user to run run subprocesses and capture their output in a single threaded environment without blocking the whole application. You can use either poll to wait for and handle process output, or use handle_output and handle_exits to integrate Arch::Run with your applications main loop. METHODS
The following functions are available: run_with_pipe, run_async, get_output_handle, handle_output, poll, wait, killall, observe, unobserve. run_with_pipe $command run_with_pipe $executable $argument ... Fork and exec a program with STDIN and STDOUT connected to pipes. In scalar context returns the output handle, STDIN will be connected to /dev/null. In list context, returns the output and input handle. The programs standard error handle (STDERR) is left unchanged. run_async %args Run a command asyncronously in the background. Returns the subprocesses pid. Valid keys for %args are: command => $command command => [ $executable $argument ... ] Program and parameters. mode => $accum_mode Control how output data is accumulated and passed to data and finish callbacks. $accum_mode can be one of RAW No accumulation. Pass output to data callback as it is received. LINES Accumulate output in lines. Pass every line separately to data callback. ALL Accumulate all data. Pass complete command output as one block to data callback. datacb => $data_callback Codeblock or subroutine to be called when new output is available. Receives one parameter, the accumulated command output. exitcb => $exit_callback Codeblock or subroutine to be called when subprocess exits. Receives a single parameter, the commands exit code. (Or maybe not. We have to handle SIG{CHLD} then. But maybe we have to do so anyway.) get_output_handle $pid Returns the STDOUT handle of process $pid. You should never directly read from the returned handle. Use IO::Select or IO::Poll to wait for output and call handle_output to process the output. handle_output $pid Handle available output from process $pid. ATTENTION: Call this method only if there really is output to be read. It will block otherwise. poll $timeout Check running subprocesses for available output and run callbacks as appropriate. Wait at most $timeout seconds when no output is available. Returns the number of processes that had output available. wait $pid Wait for subprocess $pid to terminate, repeatedly calling poll. Returns the processes exit status or "undef" if poll has already been called after the processes exit. killall [$signal] Send signal $signal (SIGINT if omitted) to all managed subprocesses, and wait until every subprocess to terminate. observe $observer Register an observer object that wishes to be notified of running subprocesses. $observer should implement one or more of the following methods, depending on which event it wishes to receive. ->cmd_start $pid $executable $argument ... Called whenever a new subprocess has been started. Receives the subprocesses PID and the executed command line. ->cmd_output_raw $pid $data Called whenever a subprocess has generated output. Receives the subprocesses PID and a block of output data. NOTE: $data is not preprocesses (e.g. split into lines). cmd_output_raw receives data block as if RAW mode was used. ->cmd_exit $pid $exitcode Called whenever a subprocess exits. Receives the subprocesses PID and exit code. unobserve $observer Remove $observer from observer list. perl v5.10.1 2005-10-08 Arch::Run(3pm)
All times are GMT -4. The time now is 02:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy