5

I am very newbie in Python but I have to implement for school a command line interpreter in Python language, but I am kinda lost in how to do that.

I have already read some tutorials and created a simple file called functions.py where i include some simple functions like this:

def delete(loc):
    if os.path.exists(loc) == True:
        os.remove(loc)
        print "Removed"
    else:
        print "File not exists"

Now.. here is the thing.. in order to use this I must import it inside the python command interpreter, like...

import functions
functions.delete("file to delete")

How can I make a Shell/CLI so instead of have to write all of this I can just write like:

delete file_name

Thanks!

1
  • I think my definition of "CLI" differs somewhat. You want to write an interpreter for a small "programming language" (DSL), right? Commented Jan 23, 2011 at 8:30

3 Answers 3

9

Or if you want a cmd shell, you could use the cmd lib. It offers python interfaces to making command lines. http://docs.python.org/library/cmd.html

Sign up to request clarification or add additional context in comments.

Comments

4

I think you should now to use simple argparse module to get command line arguments


import argparse

from functions import delete

parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file')

args = parser.parse_args()

delete(args.file)

Hope this should work for you

Sultan

1 Comment

After just add execution bit chmod +x delete.py and run it ./delete -f SOME_FILE
1

You might want to check my personal REPL for some inspiration. I wrote it during a tutorial series. Actual source may be found here. It probably does a few things you won't need... Still it could be a good read. :)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.