472,978 Members | 2,222 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,978 software developers and data experts.

Re: How to make a "command line basd" interactive program?

On Apr 11, 2:32 am, Evan <xdi...@gmail.comwrote:
Hope this hasn't been posted hundreds of times. I'm new for this.

Before using python for this kind of script, I was using TCL to write
down a "command line based" interactive program. it likes a "tclsh",
or "python" command, after that, you can work under a prompt, for
example, " - >", and then you can execute any commands what you
defined in script.

Now, in python, are there any common way(class) to finish this work?
or does anybody has a example to do that?

Thanks,
Evan
Do you want a custom shell that does whatever you want? Or do you want
an interactive python shell that has some custom commands?

For the first check out the cmd module
http://docs.python.org/lib/module-cmd.html

example:
>>import cmd
class MyCmd(cmd.Cmd):
.... def do_echo(self, params):
.... print params
....
>>MyCmd().cmdloop()
(Cmd) echo Hello World
Hello World
(Cmd) help

Undocumented commands:
======================
echo help
For the second, check out the code module
http://docs.python.org/lib/module-code.html

example:
>>import code
def foo():
.... print "hello, this is foo"
....
>>code.interact("Welcome to my python shell!", local={'bar':foo})
Welcome to my python shell!
>>bar()
hello, this is foo
>>>
Hope this helps,

Matt
Jun 27 '08 #1
2 1867
that's great, a custom shell is what I need.

Thanks all
Evan
Jun 27 '08 #2
On Apr 15, 6:35 am, Evan <xdi...@gmail.comwrote:
that's great, a custom shell is what I need.

Thanks all
Evan
And for the quick-n-dirty there is:
python -i yourscript.py

Which runs your script then drops you into the interpreter.

- Paddy.
Jun 27 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Phil Powell | last post by:
I need to find a PHP equivalent to a very familiar TCL command "subst" (see http://www.hume.com/html84/mann/subst.html ). This command will take a string and evaluate anything TCL inside of it...
6
by: Clément Collin | last post by:
I working on a GIS project, with Access link which just need a little routine in VBA, but I haven't knowledges in VBA language. It's very simple, and it looks like that in a TPascal way : .......
2
by: SunRise | last post by:
Hi I am creating a C Program , to extract only-Printable-characters from a file ( any type of file) and display them. OS: Windows-XP Ple help me to fix the Errors & Warnings and explain...
1
by: Knepper, Michelle | last post by:
Hi out there, I'm a first-time user of the "Copy ... From..." command, and I'm trying to load a table from a text flat file. http://www.postgresql.org/docs/7.4/static/sql-copy.html I don't...
2
by: Knepper, Michelle | last post by:
Hi, I'm a first-time user of the "Copy ... From..." command, and I'm trying to load a table from a text flat file. http://www.postgresql.org/docs/7.4/static/sql-copy.html I'm getting the...
3
by: Anony Mous | last post by:
Hi, I've run into a problem. I've had postgres V8 beta on my WinXP Pro machine for some time now, and it's been running great. Now, for some reason, I cannot issue any queries to the database...
5
by: msigwald | last post by:
I'm trying to write a little C program to run under linux, which must gain root so it can then shutdown the computer. I can get the code to execute the su command via system("su"), but once su...
1
by: Rune Jacobsen | last post by:
Hi, I've been trying to figure this one out, but my experience just doesn't have what it takes... :| I am writing an application that reads an XML file and displays the contents in various...
3
by: aki | last post by:
Hello , i want to use system commnad in my code to delete files in specified manner. but this way i am not able to delete files. Can somebody answer . i tried with this as following ,...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
3
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.