Python - создайте сценарий для управления путями к файлам Windows, но работающий в Linux - PullRequest
5 голосов
/ 08 сентября 2010

У меня есть этот скрипт, который обрабатывает строки, содержащие пути к файлам Windows. Однако скрипт работает в Linux. Есть ли способ изменить библиотеку os для обработки пути к файлам Windows при работе в Linux?

Я думал что-то вроде:

import os
os.pathsep = '\\'

(что не работает, поскольку os.pathsep есть; по какой-то причине)

Мой сценарий:

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

Ответы [ 3 ]

7 голосов
/ 08 сентября 2010

Посмотрите на модуль ntpath

В Linux я сделал:

>> 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'
3 голосов
/ 08 сентября 2010

Попробуйте использовать os.sep = '\\'. os.pathsep - это разделитель, используемый для разделения пути поиска (переменная среды PATH) в os.

см. описание модуля os

1 голос
/ 08 сентября 2010

os.pathsep - это разделитель, который используется для переменной среды PATH. Вы ищете os.sep.

Хотя я бы вообще не советовал изменять данные в таком модуле, он может удовлетворить ваши потребности. В качестве альтернативы, вы можете реализовать базовое имя самостоятельно, что-то вроде package_path.split('\\')[-1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...