[Tutor] help with running perl script that writes to a text file
Peter Otten
__peter__ at web.de
Wed Feb 6 11:12:54 CET 2013
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)
More information about the Tutor
mailing list