首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用napalm的commit:_config而没有找到配置文件的问题

使用napalm的commit:_config而没有找到配置文件的问题
EN

Stack Overflow用户
提问于 2020-06-11 17:06:54
回答 1查看 356关注 0票数 0

嘿,伙计们,我正在试着测试凝固汽油弹的提交,但是它无法找到cfg文件,我也试图更改为"txt",但是同样的错误。这里我的代码:

代码语言:javascript
复制
import napalm
import json


driver = napalm.get_network_driver("ios")


device = driver(
    hostname="10.0.0.254",
    username="cisco",
    password="cisco",
    optional_args={"secret" : "cisco"}

)

device.open()

device.load_merge_candidate(filename="config.cfg")
device.commit_config()
device.close() 

这是一个错误,这两个文件位于同一个文件夹中:

用户@user-pc:~/ "/home/user/Documents/python_files/network/config_compare.py",/python$/usr/bin/python 3“/home/user/Documents/python_files/network/config_compare.py”,回溯(最近一次调用):device.load_merge_candidate(filename="config.cfg") "/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py",第315行中的文件“/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py”,第18行在"/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py",return_status中,msg = self._load_candidate_wrapper(文件"/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py",行282 ),_load_candidate_wrapper (return_status,msg) = self._scp_file(文件“/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py”,行620,在文件返回(文件"/home/user/.local/lib/python3.8/site-packages/napalm/ios/ios.py",行670,以TransferClass(**kwargs)作为传输:文件"/home/user/.local/lib/python3.8/site-packages/netmiko/ssh_dispatcher.py",第278行,在FileTransfer返回FileTransferClass(*args )中,**kwargs)文件"/home/user/.local/lib/python3.8/site-packages/netmiko/scp_handler.py",第80行,init self.source_md5 = self.file_md5(source_file) File "/home/user/.local/lib/python3.8/site-packages/netmiko/scp_handler.py",第257行,file_md5 with open(file_name,( "rb")作为f: FileNotFoundError: Errno 2没有这样的文件或目录:'config.c

tks需要任何帮助..。

EN

回答 1

Stack Overflow用户

发布于 2020-06-12 13:50:24

它看起来像是文件路径的问题,您确定'config.cfg‘和您的代码在同一个dir中吗?

尝试下面的操作,看看是否可以访问该文件(如果不能,则需要修改filepath):

代码语言:javascript
复制
import napalm

driver = napalm.get_network_driver("ios")

device = driver(
    hostname="10.0.0.254",
    username="cisco",
    password="cisco",
    optional_args={"secret" : "cisco"}
)

device.open()

print('This is a config to be added:\n')

with open('config.cfg','r') as f:
    output = f.read()

device.load_merge_candidate(filename="config.cfg")
# I would add this to see what's you are merging:

print(device.compare_config())

confirm_config= input('Do you want to deploy the above config? Press Y to deploy \n')

if confirm_config == 'Y':
    device.commit_config()
    device.close() 
else:
    device.close() 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62329747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档