嘿,伙计们,我正在试着测试凝固汽油弹的提交,但是它无法找到cfg文件,我也试图更改为"txt",但是同样的错误。这里我的代码:
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需要任何帮助..。
发布于 2020-06-12 13:50:24
它看起来像是文件路径的问题,您确定'config.cfg‘和您的代码在同一个dir中吗?
尝试下面的操作,看看是否可以访问该文件(如果不能,则需要修改filepath):
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() https://stackoverflow.com/questions/62329747
复制相似问题