我正在使用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
答案 0 :(得分: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)已经了解大多数隐藏文件(内置列表here),ii)允许您指定要从结果中排除的任何文件(documentation )
披露:我是维护者。