我有一个运行在Windows上的Python数据分析应用程序。 我希望用户能够将包含数据文件的文件夹复制到“收件箱”文件夹中,此时我的应用程序将开始处理数据。 我的问题是Windows在目录拷贝完成时提供了一个事件
谢谢
如何刮去网站上的所有内容?
从Win XP以编程方式从C#中注销用户
在Windows上subprocess.call不启动第二个文件
当QueryPerformanceCounter被调用时会发生什么?
处理C#程序集中的事件
也许有更好的方法来做到这一点,但你可以通过计算文件夹中的文件数量开始,然后等待,直到这个数量有所增加,如下所示:
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'作为你需要的文件扩展名。 当然,这并不是说所涉及的文件实际上是该格式/类型,只是它具有扩展名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。