当前位置: 首页 > 面试题库 >

使用Python脚本中的命令创建原始输入

皇甫德庸
2023-03-14
问题内容

我正在尝试实现一个小的脚本,以便通过命令行并使用适当的“
ftplib”模块在Python中使用FTP连接管理本地主机。我想为用户创建某种原始输入,但是已经设置了一些命令。

我尝试更好地解释:

一旦我已经创建FTP连接,登录连接成功通过用户名和密码完成后,我会表现出一种“bash
shell的”与可能性的使用最有名的UNIX命令(例如cdls分别在目录中,并显示移动当前路径中的文件/文件夹)。

例如,我可以这样做:

> 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()


 类似资料:
  • 问题内容: 我有一个python脚本,该脚本在运行时会在终端上记录信息,我想将此记录信息发送到文本文件, 为了实现这一点,我正在插入文件 在文件末尾,我放入 问题是当它调用第一个命令时,它将终止脚本, 提前感谢我如何做这项工作的任何建议 问题答案: 问题在于,直到退出产生的外壳程序才返回,这时您的Python脚本将恢复。 执行所需操作的最简单方法是使用Python脚本作为参数来调用自身。代替 您将

  • 我试图使用groovy脚本创建Soapui项目。当直接从SoapUI运行它时,脚本工作正常,并且创建了使用WSDL的新项目。 该脚本是在:Project->TestSuite->TestCase->Groovy脚本中创建的 脚本在中正常工作。但是,在使用运行时失败,如下所示: 错误:java.lang.NullPointerException:无法对空对象调用方法createProject()

  • 问题内容: 因此,我试图制作一个bash脚本,该脚本调用此命令,然后将其输入。它调用此命令,此命令之后需要3-4个输入。我键入命令,它等待我输入名字,一个我输入名字,它等待我输入名字,依此类推。如何使用bash脚本一次将这些参数传递给命令? 问题答案: 几种方法。 分组所有echo命令并将它们通过管道传递给命令: 或使用heredoc:

  • 问题内容: 问题:在命令行中,如何调用python脚本而不必在脚本名称前键入?这有可能吗? 信息: 我写了一个方便的脚本来从命令行访问sqlite数据库,但是我有点不喜欢键入“ python SQLsap args”,而只是键入“ SQLsap args”。我什至不知道这是否可能,但是知道是否可行。不仅仅是这个程序。 问题答案: 您可以在脚本的第一行之前添加一个shebang: 这将告诉您当前的s

  • 问题内容: 我正在编写一个shell脚本,以自动添加新用户并更新其密码。我不知道如何获取passwd来从shell脚本中读取,而不是交互式地提示我输入新密码。我的代码如下。 问题答案: 来自“ ”: 所以你的情况 [ 更新 ]评论中提到了一些问题: 您的命令可能没有选项:按照ashawley的建议使用实用程序。 如果您使用的不是bash外壳,则“echo”可能不是内置命令,外壳将调用。这是不安全的

  • 问题内容: 我前一段时间读过这篇文章,但似乎找不到。我试图找到一个将在终端中执行命令然后输出结果的命令。 例如:脚本将是: 它将在终端中运行该命令的结果 问题答案: 做这件事有很多种方法: 一种简单的方法是使用os模块: 子流程模块可以实现更复杂的事情:例如: