On 02/11/2012 07:14 AM, Dave Angel wrote:
On 02/11/2012 06:46 AM, Dave Hanson wrote:
On Sat, Feb 11, 2012 at 11:35 AM, Dave Angel<d...@davea.name> wrote:
(Please don't top-post. Please put your comments after whatever parts
you're quoting (replying to) )
Apologies Dave.
You need to learn how to create a DOS window (or cmd window, just
another
name for same thing) in Windows. One way is to use the RUN prompt
in the
Start menu, and run the program CMD. Another is to go to the Start
Menu->Accessories->DOS box. it's been a long time since I ran
Windows, so
it may have some different name, but it should be in your accessories
somewhere. Since I use such a shell constantly, I created a
shortcut key
to open one.
Once you do that, you should see a "box" with a C: prompt. It is
indeed
black, but you can customize it in many ways. From there you can
type all
the commands that Walter was telling you about. And it normally
won't go
away when a program finishes running, so you don't have the "black and
appears for a millisecond" syndrome.
Windows will create one of these if you run console things from the
GUI,
but it also destroys them as soon as the program ends.
--
DaveA
I did mention very early on in my query that I had restricted
access to
the Dos CMD prompt, hence why I asked if anyone knew how to create a
self
contained prompt within the Python program. I was under the
impression that
the .bat file Walter described would fill that gap.
Thanks for your comments too, but your solution unfortunately is not
one I
can use as I cannot do all the usual methods to run the Dos prompt, .bat
files are not a problem, I have used several in the past. My issue is
that
I cannot give commands directly to the Dos prompt and in turn not
"operate"
the python program as I can on my Ubuntu machine.
You still don't say "why" you can't get a traditional DOS prompt. If
your Windows is somehow constrained (e.g. company rules) or broken
(e.g. somebody deleted some of the dll's in Windows/system32), then
it's unclear how we're supposed to guess just which things are going
to work in it. it's also unclear whether it's the programmer's
machine (yours) that's constrained or only the end user.
In Windows, whenever a console program is launched without a console,
one is created for that program. It goes away when the program ends,
so it's not real useful for learning and experimentation. However, it
does last as long as the program does, so you can just use raw_input
to print your "prompt" and accept commands. Just remember you may
want to add another one at the end so the user gets a chance to read
the last stuff you printed.
CMD is the cononical way to launch such a window, and batch files use
CMD by default. So a batch file is one back-door. But you can write
your own shell in any programming language you like, and if don't mark
it as a GUI app, it'll get a DOS box as well. You can launch
programs, including Python programs, from your own shell. And they'll
normally continue to use the same shell as your launcher.
Perhaps you didn't realize that CMD takes some command switches of its
own. One of them tells it to stick around even when the current batch
file ends.
Random thoughts for an incompletely specified set of constraints.
My apologies. You gave lots more detail earlier in the thread, but I
didn't make the connection till just now. I only saw the message from
Walter and your response and thought I could help.
Some tests. Try a batch file with a PAUSE in it. Do you get to hit
enter at that point? If that works, then try making a batch file that
runs CMD.EXE. Again, put a PAUSE at the end of the batch file so you
can see any errors you might get.
If those don't pan out, write a simple python program that does
raw_input() in a loop (or input(), if you're on Python 3.x), and does
something trivial with the stuff you type in.
while True
indata = raw_input("prompt:")
print indata
It's not much harder to exec a program based on the contents of indata.
In Windows, you don't usually even have to separate out which part is
the command, and which part is the parameters like -l
When they eliminated cmd, they may have actually removed the file (or
moved it to someplace inaccessible to your account), or they may have
just eliminated the more obvious ways of running it.
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor