Bonjour, j'ai besoin de tester deux paramètres dans /sys/class/net/. Le but de ce script est pour le moment de vérifier que les interfaces sont des interfaces réseau (pas de loopback ou de bond) et qu'elles sont PHYSICAL UP.
Le souci étant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #!/usr/bin/env python3 import os path = '/sys/class/net/' interface = os.listdir(path) for f in interface: index = os.path.join(path, interface, 'ifindex') carrier = os.path.join(path, interface, 'carrier') if index == '6' and carrier == '1': print('Bonjour')
Je le comprends et pensais pouvoir le résoudre avec la boucle, sans succès. Avez-vous une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Traceback (most recent call last): File "/root/test/./test.py", line 10, in <module> index = os.path.join(path, interface, 'ifindex') File "/usr/lib/python3.9/posixpath.py", line 90, in join genericpath._check_arg_types('join', a, *p) File "/usr/lib/python3.9/genericpath.py", line 152, in _check_arg_types raise TypeError(f'{funcname}() argument must be str, bytes, or ' TypeError: join() argument must be str, bytes, or os.PathLike object, not 'list'
Partager