gpt4 book ai didi

python - 知道目录复制何时完成

转载 作者:可可西里 更新时间:2023-11-01 10:43:45 27 4
gpt4 key购买 nike

我有一个在 Windows 上运行的 Python 数据分析应用程序。我希望用户能够将包含数据文件的文件夹复制到“in box”文件夹中,此时我的应用程序将开始处理数据。我的问题是 Windows 是否在目录复制完成时提供事件

谢谢

最佳答案

可能有更好的方法来做到这一点,但您可以先计算文件夹中的文件数量,然后等到这个数量增加,这样可以稍微避开它,如下所示:

import glob, os, time
directory = os.path.join('inbox','*') #Uses wildcard so ANY files in the 'inbox' directory are used.
numFiles = len(glob.glob(directory)) #Gets initial number of files
while True:
numFilesNew = len(glob.glob(directory)) #Gets current number of files
if numFilesNew > numFiles: #Compare current amount of files to initial
break #Exit loop if there's an increase
else: time.sleep(1) #Wait if no files were added
files = glob.glob(directory) #Make a list of filenames in the directory
print(files)

对于那些不确定的人,glob.glob 本质上返回给定目录中的文件列表。

此代码是用 Python 3.4 编写的,但我看不出它在其他版本中不起作用的原因。

如果你只想要某个扩展名的文件,那么你可以换出

directory = os.path.join('inbox','*')

对于

directory = os.path.join('inbox','*.png')

但是当然可以将“.png”更改为您需要的任何文件扩展名。当然,这并不是说有问题的文件实际上是那种格式/类型,只是它有扩展名。

这是我在本站的第一个回答,希望对您有所帮助! :)

关于python - 知道目录复制何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36871638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com