目标:我正在尝试查找特定文件名的绝对路径。
场景:我的脚本是在一些(伟大的)宏观目录中执行的,而我的文件位于同一个(伟大的......) - 父目录中的某个位置。
问题:
E:
├───Directory
│ └───Sub Directory
└───Grandparent Folder
├───Parent Directory
│ └───script.py
└───Other Parent Directory
└───MyFile.txt
好父目录经常被移动。所以父目录的绝对路径是未知的。
脚本在big-parent目录中大量移动并更改了该目录中的文件级别,所以我不能只使用'../../..'
来启动父目录。
我正在寻找的文件在大父目录中移动了很多。
一旦我有了父目录的绝对路径,我就可以os.walk()
找到我的文件。
尝试:我的下面的内容有效,但我必须想象这是一个很常见的问题,因为我不知道有一个内置的os
命令。
import os
parent_folder = 'Grandparent Folder'
search_file = 'MyFile.txt'
# Get absolute path of grandparent directory.
current_path = os.getcwd()
parent_path = current_path.split(parent_folder)[0] + parent_folder
# os.walk() from grandparent down until file is found.
filepath= ''
for root, dirs, files in os.walk(parent_path):
for file in files:
if file == search_file:
filepath = '\\'.join([root, file])
答案 0 :(得分:0)
尝试使用pythons glob模块来查找路径名。您可以在官方文档中找到详细信息。这样,即使目录移动,您也可以每次都找到路径。