簡體   English   中英

Python3 Windows 7文件路徑處理

[英]Python3 Windows 7 file path handling

我已經從Windows共享驅動器中獲取文件,其路徑如下:

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

我想從此路徑中獲取文件名,即futurefilesomf.egus.xls

當我嘗試作為file_path.split('\\') SyntaxError: EOL while scanning string literal ,錯誤為SyntaxError: EOL while scanning string literal

我不能做file_path.split('\\\\')因為那樣會給我None

即使我執行file_path.replace('\\\\','\\') ,仍然是相同的錯誤。

有什么解決方案。

可以執行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')

使用basename而不是拆分:

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

您可以使用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.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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM