问题标签 [ciscoconfparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
722 浏览

python - Python 3.4 模块中的 ciscoconfparse 未正确导入

我正在尝试在 Linux Mint 17 上安装一个名为 ciscoconfparse 的 python 模块。当我使用 pip 和 python 2 安装它时,当我尝试导入时一切正常,但是当我尝试使用 pip3(对于 Python 3.4)时,模块显示在安装目录中,但我无法导入它的任何部分。

我可以在这里找到模块

这个目录里面是 ciscoconfparse.py 文件,它有 CiscoConfParse 类,但我不能用

当我尝试安装时,似乎有一些问题,但仍然说它已成功安装。

在作者网站上,他说它已经过测试,可以在 Python > 3.2 上运行。我使用 Pycharm 作为 ide。到目前为止,我似乎可以使用带有 python3 的虚拟环境并查看它是否会改变任何东西,或者我可以将模块放入我正在制作的模块中。是否有任何原因安装可能无法正常工作?或者,将模块包含在我自己的项目中的最佳方式是什么?

0 投票
1 回答
1709 浏览

python - 使用 Python CISCOCONFPARSE 和正则表达式选择接口列表

我使用双循环选择所有接口 GigabitEthernet1/0/1 到 1/0/16 和 2/0/1 到 2/0/16 使用高效工具 CISCOCONFPARSE :这是一个例子,它有效:

问题:有没有办法使用带有正则表达式的简单循环来做同样的事情,例如下面我不正确的示例?

下面的另一个示例是一个有效的正则表达式,但不允许选择 1 到 16 个数字:

对于 CONFIG_PARSED.find_objects('^interface GigabitEthernet[1-2]/0/') 中的 INT

谢谢你的帮助

0 投票
2 回答
1580 浏览

python - Python ciscoconfparse - 构建基本配置文件

我正在尝试基于完整配置文件创建一个 cisco 基本配置。

以下是完整文件配置的一些示例:

我发现了这个 ciscoconfparse 库(https://pypi.python.org/pypi/ciscoconfparse)。并且能够将配置行块抓取到另一个文件中,但不知道如何将块排除到基本配置文件中。

任何人都知道删除或不将这些配置块复制到基本配置文件的更好方法吗?

0 投票
0 回答
129 浏览

python - 将 CSV 导入 Excel 2010 时的端口号“mangle”

更新:我现在看到 CSV 编写器正确解析端口号,即使使用 dialect='excel'。不知道我之前看到了什么,但显然之前没有这样做。在证明并非如此之前,我必须认为它是可疑的。无论如何,我对尝试的想法持开放态度......

我正在使用 CiscoConfParse 解析多个文件并编写一个 CSV 文件,并将信息拆分为单独的单元格。我的问题是,如果端口号以“0”即“0/1”开头,它们看起来不错,但 csv.writer 否则无法正确解析端口号。例如,当使用 dialect='excel' 时,'1/1' 会出现 'Jan-00',如下所示。

这是我此时的代码:

当我更改代码以包含以下内容时...

...并更改为 dialect='singlequote' 在文本编辑器中查看 CSV 时会正确解析。然后我导入 Excel,虽然一切都正确,但它当然有单引号。

不幸的是,此时我不想要单引号。我选择了所有并格式化为文本,然后用“无”替换引号字符,单引号离开,但 Excel 然后将字段更改回日期字段,我又回到了开始的地方。我当然可以在 CSV(文本)文件中删除引号,但是当将其导入 Excel 时 - 即使我手动导入并指定字段为文本,Excel 仍会覆盖我的格式并将其设为日期。(注意:我已经尝试在 Excel 中关闭自动更正)

有什么建议么?

0 投票
1 回答
456 浏览

python - 运行 python 脚本解析 IOS 配置文件时出现错误消息

我已经能够编写一个解析 IOS 配置文件的 python 脚本,但是我得到了一个错误。

下面是脚本:

当我运行脚本时,它似乎运行良好,然后出现以下错误:

0 投票
2 回答
1394 浏览

python - 使用 CiscoConfParse 查找应用于 VTY 的 ACL,然后检查 ACL 的日志语句

我有代码可以在'line vty'上找到'access-class'的名称

之后,我能够找到 ACL,但随后我想检查 ACL 的每一行以验证“拒绝”和“允许”语句是否具有“日志”关键字。如果没有“log”语句,则打印 OPEN 报告,如果条目上有“log”语句,则打印 NOT A FINDING 报告。

这就是我不知道如何解析 ACL 语句的地方,我是否可以使用 CiscoConfParse 或更标准的 python 来完成这项工作?

这是我在 VTY 上与 ACL 一起使用的示例配置文件

0 投票
2 回答
1134 浏览

python - 需要帮助解析 Cisco 输出

我在尝试解析路由器的 mrib 表时遇到了一些问题。我已经能够解析出其中的一些但有问题。例如,我有以下输出:

我正在尝试使用上述输出构建数据结构。为了清楚起见,我希望它看起来像这样:

以上听起来很简单。我遇到的主要问题之一是第二个区块。我试图想办法在传入和传出接口之后迭代接口。

不一定要求代码,但做这样的事情的最好方法是什么?

0 投票
1 回答
162 浏览

python - 如何在 EBNF 中描述作用域?

我正在尝试使用 Grako 和 Python 为 Cisco IOS 和 ASA 配置编写解析器。我试图弄清楚如何在 EBNF 中表示“范围”关键字 - 例如,“描述”关键字必须出现在interface范围内,但是有多个选项interface,它们都是可选的(并且顺序可以在设备之间更改, 我相信):

我找到的最接近示例的是一个名为 Farly 的 Perl 应用程序,该应用程序使用 perl Parse::Recdescent 模块,该模块似乎类似于 Grako。

从那里我有这种类型的递归定义:

但它会产生一个奇怪的嵌套 AST,并且它不会“重置”以检测第二个接口或随后配置中的任何其他内容。

EBNF 中通常如何定义这些范围?(这种类型的东西也有有用的教程吗?我的 google-fu 并没有为 Grako 或解析器提供任何东西)

0 投票
1 回答
1292 浏览

python-2.7 - PyInstaller: IOError: [Errno 2] No such file or directory: with ciscoconfparse library

我使用 pyinstaller 创建了我的 python 代码的 .exe,它运行良好。但是在“从 ciscoconfparse import CiscoConfParse”导入这个特定的包之后,pyinstaller 能够创建 .exe 但是当我执行 .exe 时它会抛出一条错误消息

请看这个图片链接

我尝试做一些其他帖子中提到的解决方法,但似乎没有一个工作,这个问题只有在我使用 ciscoconfparse 模块时才会出现。

请帮助我如何解决这个问题,使用这个模块很重要。

0 投票
1 回答
176 浏览

python - ciscoconfparse无法导入python3.7 win10

任何新的解决方案。我无法从 ciscoconfparse 导入 CiscoConfParse 我在 windows10 中使用 gpowershell 在 python3 中尝试了几个版本的 ciscoconfparse。

我仍然没有找到可以让我导入模块的版本。我在这里浏览了几个链接..但没有找到答案。最接近我的问题是: Python 3.4 模块中的 ciscoconfparse 没有正确导入 但没有回答。

有什么新信息吗?谢谢