[Tutor] Tutor Digest, Vol 108, Issue 22
3n2 Solutions
3n2solutions at gmail.com
Wed Feb 6 23:02:27 CET 2013
On Wed, Feb 6, 2013 at 3:00 AM, <tutor-request at python.org> wrote:
> Send Tutor mailing list submissions to
> tutor at python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mail.python.org/mailman/listinfo/tutor
> or, via email, send a message with subject or body 'help' to
> tutor-request at python.org
>
> You can reach the person managing the list at
> tutor-owner at python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Tutor digest..."
>
>
> Today's Topics:
>
> 1. Re: help with running perl script that writes to a text file
> (Peter Otten)
> 2. Re: help with running perl script that writes to a text file
> (eryksun)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 06 Feb 2013 11:12:54 +0100
> From: Peter Otten <__peter__ at web.de>
> To: tutor at python.org
> Subject: Re: [Tutor] help with running perl script that writes to a
> text file
> Message-ID: <ketaav$cm5$1 at ger.gmane.org>
> Content-Type: text/plain; charset="ISO-8859-1"
>
> 3n2 Solutions wrote:
>
>> Hello,
>>
>> I want to automate the following manual process from DOS promp:
>>
>> c:/scripts/perl>perl fix.pl base.gtx >base.txt
>>
>> Here is my python script:
>>
>> path="c:/scripts/perl/"
>> subprocess.call(['perl','fix.pl','base.gtx >base.txt',path])
>>
>> I also tried this alternative:
>>
>> subprocess.Popen(['perl','fix.pl','base.gtx >base.txt',path]) #same
>> result from this method.
>>
>> The above script generates the base.txt file but has no content in it.
>>
>> any ideas as to why the resulting text file is empty? Am I using the
>> correct python commands to run the above manual process?
>
> I'm surprised that base.txt is generated at all, I'd expect fix.pl to look
> for a file named "base.gtx >base.txt" and complain when it doesn't find
> that.
>
> I think the following should work:
>
> with open("c:/scripts/perl/base.txt", "w") as f:
> subprocess.check_call(
> ["perl",
> "c:/scripts/perl/fix.pl",
> "c:/scripts/perl/base.gtx"],
> stdout=f)
>
>
Peter, that did it! Thank you.
More information about the Tutor
mailing list