0

我刚刚开始使用 python 2.7 并使用以下代码来确定文件的路径:

import os, fnmatch

#find the location of sunnyexplorer.exe
def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                yield filename

for filename in find_files('c:\users','*.sx2'): 
    print ('Found Sunny Explorer data in:', filename)

在我尝试使用该路径并注意到错误之前,一切似乎都运行良好。该程序将路径报告为:

c:\users\woody\Documents\SMA\Sunny Explorer

而正确的路径是:

c:\users\woody\My Documents\SMA\Sunny Explorer
4

1 回答 1

2

自 Vista 以来的所有 MS Windows 版本都C:\Users\%username%\Documents默认存储用户的文档。

但是,它们还包括一个NTFS 连接点 C:\Users\%username%\My Documents,该连接点指向同一位置以实现向后兼容性。

问题是,据我了解,您不能使用标准 POSIX 调用的连接点,因此如果没有一些特定于 Windows 的扩展模块,Python 将无法使用它们。

另请参阅superuser.com 上的此问题

于 2013-04-13T17:57:00.737 回答