我从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('\\','\')
,仍然是同样的错误。
可能是什么解决方案。
答案 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")