我已经广泛阅读了这篇文章,并研究了Exscript,paramiko,Fabric和pxssh,我仍然丢失了对Cisco路由器的持久ssh会话.我是python脚本的新手.
我试图在Python中编写一个脚本,将SSH连接到Cisco设备,运行"show version",在记事本中显示结果,然后结束脚本.
我可以使用不需要用户与设备交互的show命令.例如:
from Exscript.util.interact import read_login
from Exscript.protocols import SSH2
account = read_login()
conn = SSH2()
conn.connect('192.168.1.11')
conn.login(account)
conn.execute('show ip route')
print conn.response
conn.send('exit\r')
conn.close()
Run Code Online (Sandbox Code Playgroud)
上面的脚本将显示"show ip route"的结果.
如果我尝试conn.execute('show version')脚本超时,因为Cisco设备希望用户按空格键继续,按返回显示下一行或任何键退回到命令行.
如何执行show version命令,按空格键两次以显示show version命令的整个输出,然后在python中打印?
谢谢!!!!
我正在尝试编写一个监视文件夹的脚本,如果该文件夹中添加了一个文件,则处理该文件,然后将其移动到DONE文件夹.
我想我想使用while循环...我会用以下内容监视文件夹:
count = len(os.listdir('/home/lou/Documents/script/txts/'))
while (count = 1):
print Waiting...
Run Code Online (Sandbox Code Playgroud)
我希望脚本每隔30秒检查一次len(),如果它从1变为2,则运行脚本,否则等待30秒并检查len().该脚本将新文件移动到一个文件夹,len()将返回1.脚本将全天候运行.
任何帮助是极大的赞赏
谢谢
娄
是否有可以解析msg或eml文件的库?我编写了一个脚本,一旦将电子邮件转换为txt文件就解析它,但我找不到一个电子邮件客户端,允许我轻松地将gui中的电子邮件拖放到文件夹中作为txt文件(如果有人知道这个我会很高兴知道!)
从Outlook拖放创建.msg文件,Thunderbird创建.eml文件.有谁知道会解析这些文件的库?
csv.writer 要求我输入一个真正的 csv 文件。有没有办法可以给它提供一个字符串或一个列表来写入而不是一个实际的文件?我想在不写入文件的情况下为另一个函数返回 csv。
hold = [some_list]
blank = []
w = csv.writer(blank, delimiter=',')
w.writerows(hold)
return w
Traceback (most recent call last):
w = csv.writer(blank, delimiter=',')
TypeError: argument 1 must have a "write" method
Run Code Online (Sandbox Code Playgroud) 我试图将我的Windows笔记本电脑中的文件sftp到Unix机箱(Juniper路由器).
我写了一个小脚本,但它说我的远程路径错了.我知道我可能需要添加一些花哨的东西,所以Windows可以翻译nix目录,但我无法在Google上找到它:(
这是脚本:
import paramiko
host = "192.168.1.87"
port = 22
transport = paramiko.Transport((host, port))
password = "juniper123"
username = "root"
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
filepath = '/balls/test.txt'
localpath = 'C:\Users\python1\test.txt'
sftp.put(filepath, localpath)
sftp.close()
transport.close()
Run Code Online (Sandbox Code Playgroud)
我收到错误:
WindowsError:[错误3]系统找不到指定的路径:'/ balls/test.txt'
<option value="1" {{ selected }}>1</option>
<option value="2" {{ selected }}>2</option>
<option value="3" {{ selected }}>3</option>
<option value="4" {{ selected }}>4</option>
Run Code Online (Sandbox Code Playgroud)
我有一个带有一些下拉菜单的烧瓶应用程序。我想在用户提交表单时传递选定的值,以便他们在下一页看到他们之前的选择。
有人可以提供一个简单的例子吗?我只是无法概念化如何实现这一点。
谢谢
我对Python有一个很好的把握,我认为这对我有帮助,但我想我没有程序员心态设置:)
我正在调整一个对MSSQL Server进行检查的现有PHP脚本.我们的脚本运行查询并将结果与预期结果进行比较.这是脚本的一部分:
if ($query_result == $expected_result) {
Run Code Online (Sandbox Code Playgroud)
我需要修改它,以便如果query_result在expected_result的+1或-1之内,则返回true.也许这样的东西?:
if ($query_result <=> $expected_result -+ 1) {
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何正确地写这个:P非常感谢所有帮助!
谢谢
我有一个IP列表,我想运行一个whois(使用linux工具whois),只看到Country选项.
这是我的脚本:
import os
import time
iplist = open('ips.txt').readlines()
for i in iplist:
time.sleep(2)
print "Country: IP {0}".format(i)
print os.system("whois -h whois.arin.net + {0} | grep Country ".format(i))
Run Code Online (Sandbox Code Playgroud)
所以我想显示正在运行的IP,然后我只想使用grep查看Country信息.我运行它并且没有运行grep时看到这个错误:
sh: -c: line 1: syntax error near unexpected token `|'
sh: -c: line 1: ` | grep Country '
Run Code Online (Sandbox Code Playgroud)
下面这段代码是有效的,所以它必须是我的for循环的一个问题:
print os.system("whois -h whois.arin.net + {0} | grep Country ".format('8.8.8.8'))
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢!!!!