# First of all let's get the filelist:
import os
filelist = []
def getFileList(root_folder):
'''
Returns the list of files in specified folder.
'''
for root,dirs,files in os.walk(root_folder):
for filename in files:
filepath = os.path.join(root,filename)
if os.path.isfile(filepath):
filelist.append(filepath)
return filelist
# And function to return 1st line from the file:
def readFirstLine(filename):
'''
Returns as text the first line from file.
'''
f = open(filename, "r")
firstline = f.readlines()[0]
f.close()
return firstline
# The following function works with the list of files and throws the result into Queue.
def fileListProcessing(files, q):
'''
Puts first lines from all listed files into a Queue. Provides a safe way of getting the result from several processes.
'''
try:
result = []
for filename in files:
result.append(readFirstLine(filename))
except:
q.put([])
raise
q.put(result)
# And here is an actual multiprocessing:
from multiprocessing import Queue, Process, cpu_count
def myMultiprocessing(folder):
'''
Splits the source filelist into sublists according to the number of CPU cores and provides multiprocessing of them.
'''
files = getFileList(folder)
q = Queue()
procs = []
for i in xrange(0,cpu_count()):
# Split the source filelist into several sublists.
lst = [files[j] for j in xrange(0, len(files)) if j % cpu_count() == i]
if len(lst)>0:
p = Process(target=fileListProcessing, args=([lst, q]))
p.start()
procs += [p]
# Collect the results:
all_results = []
for i in xrange(0, len(procs)):
# Save all results from the queue.
all_results += q.get()
# Output results into the file.
log = open("logfile.log", "w")
print >>log, all_results
log.close()
if __name__ == "__main__":
myMultiprocessing("d:\\someFolder")
This seems to be an example of the multiprocessing with Python.
çekmeköy arçelik klima servisi
ReplyDeleteataşehir arçelik klima servisi
kadıköy samsung klima servisi
ümraniye arçelik klima servisi
ataşehir vestel klima servisi
çekmeköy bosch klima servisi
ataşehir bosch klima servisi
kartal toshiba klima servisi
maltepe lg klima servisi
minecraft premium
ReplyDeleteözel ambulans
uc satın al
en son çıkan perde modelleri
lisans satın al
nft nasıl alınır
yurtdışı kargo
en son çıkan perde modelleri