首页 > 解决方案 > 在windows路径中查找文件

问题描述

我正在尝试让其他人的 Python 脚本在我的计算机上运行,​​并且部分脚本在 USERPROFILE 中找到了一个文件。这是该代码:

    for w in os.walk(os.getenv('USERPROFILE')):
        if 'FilenName' in w[1]: 
            path = str(w[0]) + r'\FilenName\UsrData\Directory\Data'

但是,在上面的代码中,程序尝试在以下目录中进行搜索:

C:\Users\User\AppData\Roaming\

实际上,程序应该在什么时候查看

C:\Users\User\AppData\Local\

如果我用以下代码替换问题代码,它可以工作,但我需要它为所有 USERPROFILE 运行,而不仅仅是我的:

path = r'C:\Users\Bill\AppData\Local\FilenName\UsrData\Directory\Data'

解决方案是什么?

谢谢。

标签: python

解决方案


我不在 Windows 机器上,所以这有点棘手,但你能找到所有使用 env var ALLUSERSPROFILE 的用户配置文件吗?

另一种选择可能是将字符串中的“Roaming”替换为“Local”。这有点hacky,但可以做到:

for w in os.walk(os.getenv('USERPROFILE')):
    if 'FilenName' in w[1]: 
        path = (str(w[0]) + r'\FilenName\UsrData\Directory\Data').replace('Roaming', 'Local')

推荐阅读