我正在尝试实现一个小脚本,从命令行使用适当的“ftplib”模块在Python中管理具有FTP连接的localhost.我想为用户创建一种原始输入,但已经设置了一些命令.
我试着更好地解释一下:
一旦我通过用户名和密码成功完成了FTP连接和登录连接,我就会显示一种“bash shell”,可以使用最着名的UNIX命令(例如cd和ls分别在目录中移动)并在当前路径中显示文件/文件夹.
例如,我可以这样做:
> cd "path inside localhost"
从而显示目录或:
> ls
显示该特定路径中的所有文件和目录.我不知道如何实现这个,所以我问你一些建议.
我非常感谢你的帮助.
解决方法:
听起来命令行界面就是您要问的部分.将用户输入映射到命令的一个好方法是使用字典,并且在python中可以通过在其名称后面添加()来运行对函数的引用.这是一个快速示例,向您展示我的意思
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()
标签:raw-input,python,ftplib 来源: https://codeday.me/bug/20191003/1849203.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。