我是Python新手,刚刚成功完成了编写和测试脚本的工作,该脚本将执行以下操作:
我希望它能做什么:
我希望我的脚本使用交换机的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")
==============================
如您所见,如果我运行上述脚本,则通过脚本发送的命令输出将保存到config.txt文件中。如果telnet进入另一个开关,将保存内容,并保存新开关的内容。所以,我希望脚本使用用户输入的IP地址,然后使用IP地址作为文件名将命令的输出保存在不同的文件中,这样文件的内容就不会被覆盖。 / p>
任何建议都将不胜感激!
谢谢
答案 0 :(得分:0)
由于HOST
是字符串"192.168.1.30"
,并且您希望将文件命名为"/home/tester/scripts/192.168.1.30.txt"
,因此您可以使用简单的字符串连接来执行此操作:
path = "/home/tester/scripts/" + HOST + ".txt"
......或者更好,string formatting:
path = "/home/tester/scripts/{}.txt".format(HOST)
然后:
child.logfile = open(path, "w")
(当然,如果您愿意,您也可以在format
表达式的中间进行连接或open
,但我认为这种方式更具可读性。)< / p>