Python 我希望使用系统IP地址保存配置

Python 我希望使用系统IP地址保存配置,python,networking,configuration,Python,Networking,Configuration,我是Python新手,刚刚成功地完成了编写和测试一个脚本,该脚本将执行以下操作: 将Telnet接入交换机 使用提供的凭据登录 打开一个文件,然后将命令的输出重定向到该文件 完成后从交换机注销 我希望它做的是: 我希望脚本使用交换机的IP地址在指定目录中创建一个文件。IP地址为192.168.1.30的交换机的类似配置应另存为192.168.1.30.txt 下面是我脚本的一部分 ============================ #!/usr/bin/python import pex

我是Python新手,刚刚成功地完成了编写和测试一个脚本,该脚本将执行以下操作:

  • 将Telnet接入交换机
  • 使用提供的凭据登录
  • 打开一个文件,然后将命令的输出重定向到该文件
  • 完成后从交换机注销
  • 我希望它做的是:

    我希望脚本使用交换机的IP地址在指定目录中创建一个文件。IP地址为192.168.1.30的交换机的类似配置应另存为192.168.1.30.txt

    下面是我脚本的一部分

    ============================

    #!/usr/bin/python
    
    import pexpect
    import datetime
    
    HOST = raw_input ("Enter the IP Address Of the switch:")
    user=admin
    password=admin
    
    child = pexpect.spawn ('telnet', [HOST])
    child.logfile = open("/home/tester/scripts/config.txt", "w")
    
    ==============================

    #!/usr/bin/python
    
    import pexpect
    import datetime
    
    HOST = raw_input ("Enter the IP Address Of the switch:")
    user=admin
    password=admin
    
    child = pexpect.spawn ('telnet', [HOST])
    child.logfile = open("/home/tester/scripts/config.txt", "w")
    
    如您所见,如果我运行上述脚本,通过脚本发送的命令的输出将保存到config.txt文件中。如果远程登录到其他交换机,则内容将被删除,并且新交换机的内容将被保存。因此,我希望脚本使用用户输入的IP地址,然后使用IP地址作为文件名将命令的输出保存在不同的文件中,这样文件的内容就不会被重写

    任何建议都将不胜感激


    谢谢

    因为
    主机
    是字符串
    “192.168.1.30”
    ,并且您希望文件名为
    “/home/tester/scripts/192.168.1.30.txt”
    ,所以您可以通过简单的字符串连接来完成此操作:

    path = "/home/tester/scripts/" + HOST + ".txt"
    
    …或者,更好的做法是:

    然后:

    (当然,你也可以在Open/<代码>表达式的中间做连接或<代码>格式> <代码>,如果你喜欢,但是我认为它更可读。

    child.logfile = open(path, "w")