Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > help needed with subprocess, pipes and parameters

Reply
Thread Tools

help needed with subprocess, pipes and parameters

 
 
nuffi
Guest
Posts: n/a
 
      07-13-2012

If I copy and paste the following command into a command window, it does what I need.

c:\Programs\bob\bob.exe -x -y "C:\text\path\to some\file.txt" | c:\Programs\kate\kate.exe -A 2 --dc "Print Media Is Dead" --da "Author" --dt "Title" --hf "Times" --bb "14" --aa "" --font "Ariel" - "C:\rtf\path\to some\file.rtf"

My mission is to recreate this command within a python script, so that I can pass a bunch of different parameters into it, and use it as a batch over a bunch of different papers.

http://docs.python.org/library/subprocess.html seems to be the thing to usein python 2.7.3. I also checked out http://www.doughellmann.com/PyMOTW/subprocess/.

My attempts run fine, create destination folders ok and prints done but don't actually seem to process the file. Is there some way to get subprocessto output the command it's generating so I can see what I'm doing wrong, rather than just the output of the command?

How can I chekc that kate's opening the pipe left from bob? Bob may takesome time to execute, will that matter?


The code I came up with looks like this:

import os, glob, subprocess

sourceDir = "c:\\text\\"
destDir = "c:\\rtf\\"
bobPath = "C:\\Programs\\bob\\bob.exe"
katePath = "C:\\Programs\\kate\\kate.exe"

def get_new_path(doc):
blah = doc.replace(sourceDir, destDir)
if not os.path.isdir(blah):
os.makedirs(blah)
rtf = blah.replace('.txt', '.rtf')
pathString = '- "' + (os.path.join(rtf)) + '"'
return(pathString)


def convert_doc(doc):
dc = '--dc "Print Media Is Dead"'
da = '--da "Author"'
dt = '--dt "Title"'
hf = '--hf "Times"'
fn = '--font "Ariel"'
bb = '--bb "14"'
docpath = '"' + (os.path.join(doc)) + '"'
path = get_new_path(doc)
A = '-A 2'
bob = subprocess.Popen([bobPath, '-x', '-y', docpath], stdout = subprocess.PIPE,)
kate = subprocess.Popen([katePath, A, dc, da, dt, hf, fn, bb, path], stdin = bob.stdout, stdout = subprocess.PIPE,)
end_of_pipe = kate.stdout
#print kate
#subprocess.call(['echo', "Test peice of text", '>', 'D:\\output.txt'])
for line in end_of_pipe:
print '\t', blah.strip()
#raw_input()
return('done')


test = convert_doc("c:\\text\\path to\\some\\specific text file.txt")
print(blah)


==

Thanks for looking
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Help needed on this 857W config. Repost to be clearer what the problemsare and the help needed sparticle Cisco 3 08-30-2007 07:47 PM
windows help/pipes/thread Ara.T.Howard Ruby 9 09-20-2005 11:12 PM
Help with pipes Scott C++ 1 04-24-2005 03:18 PM
help needed with C grep program. About pipes and ls in shell E.U. C Programming 3 11-01-2004 03:40 PM
sockets and pipes and bad results Marilyn Davis Python 0 09-25-2004 01:01 AM



Advertisments