Heim > Artikel > Backend-Entwicklung > So verwenden Sie Netmiko für die Dateiübertragung in Python
Das Übertragen von Konfigurationsdateien, Bilddateien usw. ist ein häufiger Vorgang bei der Netzwerkgeräteverwaltung. Netmiko ist eine Python-Bibliothek, die zur Interaktion mit verschiedenen Netzwerkgeräten verwendet werden kann. Sie bietet einige Funktionen zum Übertragen von Dateien, einschließlich SCP-Funktionen (Secure Copy Protocol).
Netmiko ist eine erweiterte Python-Bibliothek für Paramiko, mit der verschiedene Netzwerkgeräte verbunden und verwaltet werden können. Mit Netmiko können Sie eine Verbindung zu einer Vielzahl von Netzwerkgeräten herstellen, z. B. Cisco, Juniper, Arista, HP usw. Die Netmiko-Bibliothek bietet mehrere Funktionen, um Vorgänge wie Verbindung, Befehlssendung, Dateiübertragung usw. bequemer und benutzerfreundlicher zu gestalten.
SCP ist ein sicheres Dateiübertragungsprotokoll, das das SSH-Protokoll zum Übertragen von Dateien verwendet. Im Vergleich zu anderen Dateiübertragungsprotokollen wie FTP und TFTP verwendet SCP verschlüsselte Verbindungen, um eine höhere Sicherheit zu bieten. Obwohl SCP bei der Übertragung großer Dateien weniger effizient ist, ist es bei der Übertragung kleiner Dateien die ideale Wahl.
Bevor Sie Netmiko verwenden, müssen Sie es installieren. Netmiko kann mit pip installiert werden, verwenden Sie einfach den folgenden Befehl:
pip install netmiko
Mit der SCP-Funktion in der Netmiko-Bibliothek können Sie Dateien vom lokalen Computer auf das Gerät und auch vom Gerät übertragen Gerät zum Gerät übertragen. Im Folgenden stellen wir vor, wie Sie die SCP-Funktion von Netmiko zum Übertragen von Dateien verwenden.
Um Dateien vom Gerät auf den lokalen Computer zu übertragen, müssen Sie die Funktion file_transfer
von Netmiko verwenden. Diese Funktion erfordert vier Parameter: Remote-Pfad, lokaler Pfad, Dateiname und Dateiübertragungsrichtung (vom Remote-Gerät zum lokalen Computer). Der Remote-Pfad und der lokale Pfad können relative Pfade oder absolute Pfade sein. Die Dateiübertragungsrichtung muss mit der Zeichenfolge get
angegeben werden. Im Folgenden finden Sie einen Beispielcode zum Übertragen von Dateien mithilfe der Funktion file_transfer
von Netmiko: file_transfer
函数。该函数需要四个参数:远程路径、本地路径、文件名和文件传输方向(从远程设备到本地计算机)。其中远程路径和本地路径可以是相对路径或绝对路径。文件传输方向需要使用字符串get
来指定。以下是使用Netmiko的file_transfer
函数传输文件的示例代码:
from netmiko import ConnectHandler device = { 'device_type': 'cisco_ios', 'ip': '192.168.1.1', 'username': 'username', 'password': 'password', } remote_path = 'flash:/config.txt' local_path = '/home/user/config.txt' file_name = 'config.txt' with ConnectHandler(**device) as ssh: ssh.file_transfer( remote_file=remote_path, local_file=local_path, file_system='flash:', direction='get' )
在上面的示例代码中,我们首先定义了一个设备字典,然后使用ConnectHandler
函数连接设备。在连接设备之后,我们使用file_transfer
函数传输文件。remote_file
参数指定了远程设备上的文件路径,local_file
参数指定了本地计算机上的文件路径,file_system
参数指定了文件所在的文件系统,direction
参数指定了传输方向。运行上述代码,即可从设备传输文件到本地计算机。
从本地计算机传输文件到设备也需要使用Netmiko的file_transfer
函数。该函数需要四个参数:远程路径、本地路径、文件名和文件传输方向(从本地计算机到远程设备)。其中远程路径和本地路径可以是相对路径或绝对路径。文件传输方向需要使用字符串put
来指定。以下是使用Netmiko的file_transfer
函数从本地计算机传输文件到设备的示例代码:
from netmiko import ConnectHandler device = { 'device_type': 'cisco_ios', 'ip': '192.168.1.1', 'username': 'username', 'password': 'password', } remote_path = 'flash:/config.txt' local_path = '/home/user/config.txt' file_name = 'config.txt' with ConnectHandler(**device) as ssh: ssh.file_transfer( remote_file=remote_path, local_file=local_path, file_system='flash:', direction='put' )
在上面的示例代码中,我们同样首先定义了一个设备字典,然后使用ConnectHandler
函数连接设备。在连接设备之后,我们使用file_transfer
函数传输文件。remote_file
参数指定了远程设备上的文件路径,local_file
参数指定了本地计算机上的文件路径,file_system
参数指定了文件所在的文件系统,direction
rrreee
ConnectHandler
her Ausrüstung. Nach dem Anschließen des Geräts verwenden wir die Funktion file_transfer
, um Dateien zu übertragen. Der Parameter remote_file
gibt den Dateipfad auf dem Remote-Gerät an, der Parameter local_file
gibt den Dateipfad auf dem lokalen Computer an und der Parameter file_system
gibt an der Dateispeicherort, der Parameter direction
gibt die Übertragungsrichtung an. Führen Sie den obigen Code aus, um Dateien vom Gerät auf Ihren lokalen Computer zu übertragen. 🎜🎜Dateien vom lokalen Computer auf das Gerät übertragen🎜🎜Um Dateien vom lokalen Computer auf das Gerät zu übertragen, müssen Sie auch die Funktion file_transfer
von Netmiko verwenden. Diese Funktion erfordert vier Parameter: Remote-Pfad, lokaler Pfad, Dateiname und Dateiübertragungsrichtung (vom lokalen Computer zum Remote-Gerät). Der Remote-Pfad und der lokale Pfad können relative Pfade oder absolute Pfade sein. Die Dateiübertragungsrichtung muss mit der Zeichenfolge put
angegeben werden. Das Folgende ist ein Beispielcode, der die file_transfer
-Funktion von Netmiko verwendet, um Dateien von einem lokalen Computer auf ein Gerät zu übertragen: 🎜rrreee🎜Im obigen Beispielcode definieren wir außerdem zuerst ein Gerätewörterbuch und verwenden dann ConnectHandler
Funktion zum Verbinden des Geräts. Nach dem Anschließen des Geräts verwenden wir die Funktion file_transfer
, um Dateien zu übertragen. Der Parameter remote_file
gibt den Dateipfad auf dem Remote-Gerät an, der Parameter local_file
gibt den Dateipfad auf dem lokalen Computer an und der Parameter file_system
gibt an der Dateispeicherort, der Parameter direction
gibt die Übertragungsrichtung an. Führen Sie den obigen Code aus, um Dateien von Ihrem lokalen Computer auf das Gerät zu übertragen. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie Netmiko für die Dateiübertragung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!