Create a raw input with commands inside a Python script
我正在尝试实现一个小脚本,用命令行中的python中的ftp连接管理本地主机,并使用适当的"ftplib"模块。我想为用户创建一种原始输入,但是已经设置了一些命令。
我尽量解释清楚:
一旦我通过用户名和密码成功创建了FTP连接和登录连接,我将显示一种"bash shell",可以使用最著名的Unix命令(例如,
例如,我可以这样做:
1 | > cd"path inside localhost" |
从而显示目录或:
1 | > ls |
显示该特定路径中的所有文件和目录。我不知道如何实现这一点,所以我问你一些建议。
我提前非常感谢你的帮助。
听起来命令行界面就是你要问的部分。将用户输入映射到命令的一个好方法是使用字典,并且在Python中,可以通过在函数名后加()来运行对函数的引用。下面是一个简单的例子,告诉你我的意思
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | def firstThing(): # this could be your 'cd' task print 'ran first task' def secondThing(): # another task you would want to run print 'ran second task' def showCommands(): # a task to show available commands print functionDict.keys() # a dictionary mapping commands to functions (you could do the same with classes) functionDict = {'f1': firstThing, 'f2': secondThing, 'help': showCommands} # the actual function that gets the input def main(): cont = True while(cont): selection = raw_input('enter your selection ') if selection == 'q': # quick and dirty way to give the user a way out cont = False elif selection in functionDict.keys(): functionDict[selection]() else: print 'my friend, you do not know me. enter help to see VALID commands' if __name__ == '__main__': main() |