我想将 cwd 更改为特定文件夹。 文件夹名称已知;但是,通往它的路径会有所不同。
我正在尝试以下操作,但似乎无法得到我要找的东西:
absolute_path = os.path.abspath(folder_name)
directory_path = os.path.dirname(absolute_path)
os.chdir(directory_path)
这不符合我的要求,因为它将原始 cwd 保留到运行 .py 文件的位置。我尝试在第一个代码块之前添加 os.chdir(os.path.expanduser("~"));但是,它只是创建到/home/user/folder_name 的绝对路径。
当然,如果有一个我可以使用的简单导入,我会接受任何东西。
获取具有特定名称的所有文件夹的路径的正确方法是什么?
请您参考如下方法:
def find_folders(start_path,needle):
for cwd, folders, files,in os.walk(start_path):
if needle in folders:
yield os.path.join(cwd,needle)
for path in find_folders("/","a_folder_named_x"):
print path
所有这一切所做的就是从给定的起始路径向下遍历您的目录结构,并找到名为 needle 的文件夹的所有出现
在示例中,它从系统的根文件夹开始并寻找名为“a_folder_named_x”的文件夹...请注意,如果您需要搜索整个系统,这可能需要一段时间才能运行...
