Python:如何根据传入文件的数量改变线程数?

时间:2017-03-01 21:02:28

标签: python python-multithreading

我有一个文件夹(“/ home / samples /”),并且其他应用程序会不断向其写入文件。我的剧本是:

%matplotlib notebook

我希望线程数取决于文件数。例如,如果文件夹中有太多文件(比如5000),我希望线程增加到40个线程。如果文件少于100个,我希望线程数为2或更少。

如何实施?

谢谢!

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用类似

的方式计算目录中的文件数
 numOfFiles = len([f for f in  os.listdir("/home/samples")])

然后决定在for循环之前要做什么,比如

threadNum = 40 if numOfFiles > 5000 else 2
for x in range(threadNum):
    [your code]