Python窗口路径

2024-09-29 21:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python(windows)中构建一条路径,但令人沮丧的是,它每次都给我错误的路径。我试图构建的路径是C:\Users\abc\Downloads\directory\[log file name]

因此,当我使用print(os.getcwd())时,它返回C:\Users\abc\Downloads\directory,这很好。但是当我尝试在python中使用os连接时,(os.path.join(os.path.abspath(os.getcwd()),GetServiceConfigData.getConfigData('logfilepath'))) 它只返回C:\Logs\LogMain.log,而不是所需的输出(Path.cwd().joinpath(GetServiceConfigData.getConfigData('logfilepath')))也返回相同的结果

logfilepath是一个XML字符串<add key="logfilepath" value="\Logs\LogMain.log" />


Tags: path路径logoswindowsdownloads错误users
2条回答

您的logfilepath\Logs\LogMain.log,这是绝对路径(没有驱动器),不是相对路径,而不仅仅是文件名-因此它不会像您期望的那样加入

当您尝试加入绝对路径时,它只保留驱动器并替换以前的绝对路径

您只需从\Logs\LogMain.log-ie获取filename

 logfilepath.split('\\')[-1]

只有LogMain.log并最终获得

 C:\Users\abc\Downloads\directory\LogMain.log

folder = os.path.abspath(os.getcwd())

logfilepath = GetServiceConfigData.getConfigData('logfilepath')
filename = logfilepath.split('\\')[-1]

os.path.join(folder, filename)

编辑

如果logfilepath类似于对象pathlib.Path

from pathlib import Path
p = Path('\Logs\LogMain.log')

然后,您可以使用

p.name

感谢所有的帮助,最后通过删除1个反斜杠解决了这个问题

<add key="logfilepath" value="\Logs\LogMain.log" />

<add key="logfilepath" value="Logs\LogMain.log" />

相关问题 更多 >

    热门问题