Python3 Windows 7文件路径处理

时间:2018-05-04 13:26:44

标签: python python-3.x

我从Windows共享驱动器中获取了具有路径的文件,如下所示:

\\piyush123\piyushtech$\Piyush\ProFileTesting\May\Input_File\OMF\futurefilesomf.egus.xls

我想从此路径获取文件名futurefilesomf.egus.xls

当我尝试file_path.split('\')时。它的错误为SyntaxError: EOL while scanning string literal

我无法file_path.split('\\'),因为它会给我None

即使我做file_path.replace('\\','\'),仍然是同样的错误。

可能是什么解决方案。

4 个答案:

答案 0 :(得分:1)

可以file_path.split('\\')。这样做:

>>> file_path=r"\\piyush123\piyushtech$\Piyush\ProFileTesting\May\Input_File\OMF\futurefilesomf.egus.xls"
>>> file_path.split('\\')
['', '', 'piyush123', 'piyushtech$', 'Piyush', 'ProFileTesting', 'May', 'Input_File', 'OMF', 'futurefilesomf.egus.xls']

虽然您可能确实需要将其与os.path系列中的函数结合使用,例如:

>>> os.path.splitunc(file_path)
('\\\\piyush123\\piyushtech$', '\\Piyush\\ProFileTesting\\May\\Input_File\\OMF\\futurefilesomf.egus.xls')

答案 1 :(得分:1)

使用basename代替拆分:

>>> s = r"\\piyush123\piyushtech$\Piyush\ProFileTesting\May\Input_File\OMF\futurefilesomf.egus.xls"
>>> import os
>>> os.path.basename(s)
'futurefilesomf.egus.xls'

答案 2 :(得分:1)

您可以使用ntpath:

full_path = r'\\piyush123\piyushtech$\Piyush\ProFileTesting\May\Input_File\OMF\futurefilesomf.egus.xls'

import ntpath

ntpath.split(full_path)

给出:

('\\\\piyush123\\piyushtech$\\Piyush\\ProFileTesting\\May\\Input_File\\OMF', 'futurefilesomf.egus.xls')

答案 3 :(得分:1)

标记为3.x所以我假设你有3.4+可用于Pathlib

import pathlib

path = r"\\piyush123\piyushtech$\Piyush\ProFileTesting\May\Input_File\OMF\futurefilesomf.egus.xls"
print(pathlib.Path(path).name)
print(pathlib.Path(path).name == "futurefilesomf.egus.xls")