【问题标题】:What is the most efficient way to find a path from a file?从文件中查找路径的最有效方法是什么?
【发布时间】:2019-12-14 06:31:30
【问题描述】:

我的计算机上有一个文件,我想找到它的完整路径。

我能想到的找到该文件路径的唯一方法是使用os.walk,直到我最终找到该文件。此方法可能需要很长时间,因为文件很多。

文件是User Data,这里基本上就是我要找的子路径\Google\Chrome\User Data

有没有更快的方法来获取文件的完整路径?

编辑: 该文件通常位于\AppData\Local\ 下。如果有一条捷径可以到达这条路,那就足够了。

【问题讨论】:

  • 你知道文件的相对位置吗?如果不是,您的意思是在事先不知道的情况下简单地搜索计算机上特定文件的位置吗?我认为没有比简单地“os.walk 并检查所有内容”更快的方法了 - 或者调用等效的 shell 命令,如 Unix 上的 find 或 Windows 上的 GetChildItem(参见 this question
  • 除了文件名之外,您还有关于该文件的任何信息吗?例如,它是在当前工作目录中还是你有一个打开的句柄,或者它是一个导入的模块?或者您只是想在整个磁盘中搜索具有该名称的文件?
  • @GreenCloakGuy 通常,子路径位于“\AppData\Local\”下。但是,是的,我想在事先不知道其位置的情况下找到一个文件。看来 os.walk 仍然是最好的选择。
  • @MatthiasFripp 除了通常位于“\AppData\Local\”下之外,我没有关于该文件的信息。我的完整路径如下所示“C:\Users\owner\AppData\Local\Google\Chrome\User Data”
  • 如果 'C:\Users\owner' 指的是当前用户的主目录,那么您可以先找到它,然后附加路径的其余部分。请参阅我的答案以了解如何做到这一点。

标签: python


【解决方案1】:

here 所述,您可以通过以下方式到达那里:

import os
home_dir = os.path.expanduser('~')
file_path = os.path.join(
    home_dir, 'AppData', 'Local', 
    'Google', 'Chrome', 'User Data'
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2010-09-18
    • 2011-01-30
    • 2020-08-17
    相关资源
    最近更新 更多