I need some advice/help on running my scripts
Steven Bethard
steven.bethard at gmail.com
Sat Jan 1 15:45:48 EST 2005
Sean wrote:
> My problem is that many of the example scripts are run on Linux
> machines and I am using Win XP Pro. Here is a specific example of what
> is confusing me. If I want to open a file from the dos prompt in some
> script do I just write the name of the file I want to open (assuming it
> is in the same directory) after the script name?
> such as
>
> c:\some_script.py some_text_file.txt
It's unclear to me what you want to do here. If your some_script.py
looks like:
import sys
f = file(sys.argv[1])
then yes, you can call some_script.py as above, and the file will be
readable from the 'f' file object.
> Does piping work the same way in dos as it does on a linux machine?
Mostly:
[D:\Steve]$ type test.py
import sys
for i, line in enumerate(sys.stdin):
sys.stdout.write("%i:%s" % (i, line))
[D:\Steve]$ type input.txt
A
B
C
D
[D:\Steve]$ python test.py < input.txt
0:A
1:B
2:C
3:D
[D:\Steve]$ python test.py > output.txt
Z
Y
X
^Z
^Z
[D:\Steve]$ type output.txt
0:Z
1:Y
2:X
[D:\Steve]$ python test.py < input.txt > output.txt
[D:\Steve]$ type output.txt
0:A
1:B
2:C
3:D
[D:\Steve]$ type input.txt | python test.py
0:A
1:B
2:C
3:D
Note however, that you may run into problems if you don't explicitly
call python:
[D:\Steve]$ test.py < input.txt
Traceback (most recent call last):
File "D:\Steve\test.py", line 2, in ?
for i, line in enumerate(sys.stdin):
IOError: [Errno 9] Bad file descriptor
> And last but not least, is there a way to do this all from IDLE?
What exactly do you want to do? You can certainly type something like:
f = file('input.txt')
in IDLE to get access to the 'input.txt' file...
Steve
More information about the Python-list
mailing list