Bonjour,
J'avais créé un script bash qui me permet de me connecter à un appareil, et le formater:
Il marche très bien, mais j'ai ensuite créé un script python pour copier des fichiers en FTP sur le matériel formaté... Pas de problème jusque là ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #!/usr/bin/expect -f set Username tel set Password tel spawn telnet 192.168.0.2 expect "Username: " send -- "$Username\r" expect "Password: " send -- "$Password\r" send -- "\r" send -- "format a:\r" expect "Sure (Y/N) ? " send -- "Y\r" expect eof
Je souhaiterais , dans un but de continuité, reprendre mon script telnet et le passer en python, j'ai donc pour ceci commencer un script mais celui-ci ne produit rien à l'écran et m'affiche une erreur...
Le script:
Et quand je l'interromps car rien ne se passe, il m'affiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #!/usr/bin/python # -*- coding: utf-8 -*- import telnetlib import sys HOST = "192.168.0.2" USER = "tel" PASSWORD = "tel" telnet = telnetlib.Telnet(HOST) telnet.read_until("Username: ") telnet.write(USER + "\n") telnet.read_until("Password: ") telnet.write(PASSWORD + "\n") telnet.write("\n") telnet.write("format a:\n") telnet.read_until("Sure (Y/N) ?") telnet.write("y") telnet.close()
Je comprends qu'il ne veut pas de ma chaine de caractères ... Mais que dois-je utiliser pour faire potentiellement comme sur mon script en bash ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Traceback (most recent call): File "Format_PU.py", line 12, in <module> telnet.read_until("Username: ") File "/usr/lib/python3.5/telnetlib.py", line 302, in read_until i = self.cookedq.find(match) TypeError: a bytes-like object is required, not 'str'
En vous remerciant de votre aide,
Partager