Python – Créer un script pour manipuler les chemins de fichiers Windows mais fonctionnant sous Linux

J’ai ce script qui traite les lignes contenant des chemins de fichiers Windows. Cependant, le script est exécuté sous Linux. Existe-t-il un moyen de changer la bibliothèque os pour gérer le chemin des fichiers Windows lors de l’exécution sur Linux?

Je pensais à quelque chose comme:

import os os.pathsep = '\\' 

(qui ne fonctionne pas puisque os.pathsep est; pour une raison quelconque)

Mon script:

 for line in INPUT.splitlines(): package_path,step_name = line.ssortingp().split('>') file_name = os.path.basename(package_path) name = os.path.splitext(file_name)[0] print template % (name,file_name,package_path) 

Regardez le module ntpath

Sur Linux, j’ai fait:

 >> import ntpath >> ntpath.split("c:\windows\i\love\you.txt") ('c:\\windows\\i\\love', 'you.txt') >> ntpath.splitext("c:\windows\i\love\you.txt") ('c:\\windows\\i\\love\\you', '.txt') >> ntpath.basename("c:\windows\i\love\you.txt") 'you.txt' 

Essayez d’utiliser os.sep = '\\' . os.pathsep est le séparateur utilisé pour séparer le chemin de recherche (variable d’environnement PATH) sur le système d’exploitation.

voir la description du module os

os.pathsep est le séparateur utilisé pour la variable d’environnement PATH. Vous recherchez os.sep.

Bien que je déconseille généralement de modifier les données dans un module comme celui-ci, cela peut convenir à vos besoins. Alternativement, vous pouvez implémenter basename vous-même, quelque chose comme package_path.split('\\')[-1]