for file in glob.glob(patch+'*.*'):
if not result or file.endswith('.filepart'):
continue
目前我正在这样做:我们获取目录中的所有文件并通过条件查看名称。如果名称包含(主名称后的扩展名),filepart例如name.txt.filepart.让我们跳过这个循环...
问题是如何glob.glob(patch+'*.*')预先指定一个表达式,立即过滤掉那些名称中包含filepart.
filepart通过 ftp 将文件上传到目录时添加。我通过 WinSCP 扔它,也许如果我通过其他 ftp 客户端扔它,它会有不同的名称。通常如何确定给定文件正在下载过程中?
要从目录中选择除某些文件之外的所有文件(例如带有 的文件)
.filepart,您可以将该模块glob与文件过滤结合使用来排除包含特定子字符串的文件。溶液使用
glob和过滤不幸的是,
glob它不支持复杂的模式(有例外),因此您仍然需要在获取文件列表后过滤结果。这是一个例子:在下载过程中识别文件
正在下载的文件的名称中通常具有某些模式。就你而言,是的
.filepart。如果您想要一种更可靠的方法来识别此类文件,您可以使用:.filepart,则可以认为它是可下载的。考虑文件创建时间的示例代码:
获取目录和子目录中的文件列表,不包括某些类型:
顺便说一句,这种方法允许您通过简单地扩展设计来排除几种类型的文件
if not file.endswith(".docx")确定文件是否正在下载是另一回事,不需要使用一些疯狂的算法来解决。这是一系列有效且简单的文件操作管理的一部分。我不会在这里详细讨论这个话题,抱歉。