new to Python - modules to leverage Perl scripts?
Peter Otten
__peter__ at web.de
Mon May 7 03:16:20 EDT 2012
Rogelio wrote:
> I've got quite a few Perl scripts that I would like to leverage, and
> I'd like to make some Python wrapper scripts for them.
>
> The Perl scripts shell into various network appliances, run certain
> commands, and then output those commands into a file.
>
> I recently found out about the subprocess modules (including "call")
> and am wondering what other Python libraries and modules I should
> check out. Specifically, I need functions that will do the
> following...
>
> 1) Take a big IP file and break it up into smaller chunks (e.g. 20 IP
> addresses per file)
itertools.islice()
> 2) Run the Perl script on those smaller IP files
subprocess. If the script can read from stdin you may not need the
intermediate file; use
subprocess.Popen(..., stdin=PIPE).communicate(inputdata_as_a_string)
instead.
> 3) Run the Perl commands in parallel (to take less time)
multiprocessing? Though your problem may be I/O-bound.
> 4) Take the little logs and concatenate the files
itertools.chain.from_iterable()
> 5) Look for existence of certain strings in the logs
with open(logfile) as f:
for line in f:
if some_string in line:
# whatever
If you know Perl you will not be completely puzzled when you have to switch
to a regex. You'll rather make that switch to early ;)
> I'm still playing with the subprocess.call command to make sure that
> it calls everything okay. But I'm hoping someone can point me where
> to look for functions that will make this an effective wrapper script.
You sound like you are not completely satisfied with subprocess. What are
you missing?
More information about the Python-list
mailing list