1

我正在使用 python 脚本移动一些文件。该脚本应该适用于 osx 和 windows。

我正在使用 glob 模块来选择文件。使用 os.path 中的 isfile 方法过滤掉目录。glob 模块自动忽略 unix 。文件,但它似乎确实抓住了一些 Windows 隐藏文件。我添加了代码以删除似乎出现在 Windows 中的一个“desktop.ini”。

是否有任何其他可能出现的 Windows 文件,或者有没有办法确保我不在 Windows 中选择隐藏文件?

files = glob.glob('*')
files = filter(os.path.isfile, files)  # filter out dirs
if "desktop.ini" in files : files.remove('desktop.ini')
# then using "shutil.move" to actually move the files
4

1 回答 1

1

您可能想尝试Formic

from formic import FileSet
fileset = FileSet(directory="/some/where/interesting",
              include="*.py",
              exclude=["desktop.ini", ".*", "addition", "globs", "here"]
              )
for filename in fileset:
    # use shutil to move them

这是一个使用 Globs 的 Python 库,但 i) 已经了解大多数隐藏文件(此处为内置文件列表),并且 ii) 允许您指定要从结果中排除的任何文件(文档

披露:我是维护者。

于 2013-07-14T05:31:28.587 回答