python在windows上运行报错,linux正常

qqlam_ 2016-01-12 06:53:25
实现功能是从交换机导出配置,linux上可以运行,windows上报错:

>>> Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "D:\python\config2.py", line 12, in ssh2
ssh.connect(ip,22,username,passwd,timeout=5)
File "C:\Python27\lib\site-packages\paramiko\client.py", line 283, in connect
to_try = list(self._families_and_addresses(hostname, port))
File "C:\Python27\lib\site-packages\paramiko\client.py", line 187, in _families_and_addresses
addrinfos = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
gaierror: [Errno 11004] getaddrinfo failed

Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "D:\python\config2.py", line 12, in ssh2
ssh.connect(ip,22,username,passwd,timeout=5)
File "C:\Python27\lib\site-packages\paramiko\client.py", line 283, in connect
to_try = list(self._families_and_addresses(hostname, port))
File "C:\Python27\lib\site-packages\paramiko\client.py", line 187, in _families_and_addresses
addrinfos = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
gaierror: [Errno 11004] getaddrinfo failed

list.txt文件是两个ip地址,为嘛会出这个错误呢? 谢谢

代码
#-*- coding: utf-8 -*-
#!/usr/bin/python
import paramiko
import threading
import datetime
import os

def ssh2(ip,username,passwd,cmd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
ipname = ip.strip()+'.txt'
output = open(ipname,'a')
output .write(ip+'=========================='+"\n")
for m in cmd:
stdin, stdout, stderr = ssh.exec_command(m)
stdin.write("yes")
out = stdout.readlines()
output .write(m+"\n"+'-----------------------'+"\n")
for o in out:
output .write(o.rstrip()+"\n")
output .write('-----------------------'+"\n")
ssh.close()



if __name__=='__main__':
cmd = ['show configuration']
username = "admin"
passwd = "admin"
print "Begin......"


file = open("list.txt")
today = datetime.date.today()
othertoday = today.strftime("%Y%m%d")
path = os.getcwd()+'\\'+othertoday
os.mkdir(path)
os.chdir(path)

while 1:
line = file.readline()
if not line:
break
pass
ip = line
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()

...全文
746 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImN1 2016-01-14
  • 打赏
  • 举报
回复
11004 不能解析域名 socket.gaierror: [Errno 11004] getaddrinfo failed // 返回了MX(Mail eXchanger)记录但是没有A(Address)记录
qqlam_ 2016-01-12
  • 打赏
  • 举报
回复
引用 1 楼 pcboyxhy 的回复:
windows里设置了代理服务器吗?
没有的呢
pcboyxhy 2016-01-12
  • 打赏
  • 举报
回复
windows里设置了代理服务器吗?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧