Advertisement
Guest User

Untitled

a guest
May 5th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. from optparse import OptionParser
  2.  
  3. import threading
  4. import xlrd
  5. import datetime
  6. import time
  7.  
  8. ###############################################################################
  9.  
  10. class ReadFileXlsx():
  11. def __init__(self, xlsxFile):
  12. self.__xlsx_file = xlsxFile
  13.  
  14. def read_file(self):
  15. wbHandler = xlrd.open_workbook(self.__xlsx_file)
  16. #time.sleep(3)
  17.  
  18. ###############################################################################
  19.  
  20. class ReadFileXlsxThread(threading.Thread):
  21. def __init__(self, xlsxFile):
  22. threading.Thread.__init__(self)
  23. self.__file_handler = ReadFileXlsx(xlsxFile)
  24.  
  25. def run(self):
  26. self.__file_handler.read_file()
  27.  
  28. ###############################################################################
  29.  
  30. def run1(filename, max):
  31. d1 = datetime.datetime.now()
  32. for index in range(0, max):
  33. d2 = datetime.datetime.now()
  34. handler = ReadFileXlsx(filename)
  35. handler.read_file()
  36. d3 = datetime.datetime.now()
  37. print "run1() - " + str(index) + " - time = " + str(d3-d2)
  38.  
  39. d4 = datetime.datetime.now()
  40. print "run1() - TOTAL time = " + str(d4-d1)
  41.  
  42. def run2(filename, max):
  43. d1 = datetime.datetime.now()
  44. threads = []
  45.  
  46. for index in range(0, max):
  47. d2 = datetime.datetime.now()
  48. handler = ReadFileXlsxThread(filename)
  49. handler.start()
  50. d3 = datetime.datetime.now()
  51. print "run2() - " + str(index) + " - time = " + str(d3-d2)
  52.  
  53. # Add threads to thread list
  54. threads.append(handler)
  55.  
  56. # Wait for all threads to complete
  57. for t in threads:
  58. t.join()
  59.  
  60. d4 = datetime.datetime.now()
  61. print "run2() - TOTAL time = " + str(d4-d1)
  62.  
  63. def main():
  64. parser = OptionParser()
  65. parser.add_option("-f", "--file", dest = "xlsxfile",
  66. help = "",
  67. metavar = "FILE")
  68. (options, args) = parser.parse_args()
  69. if not options.xlsxfile:
  70. print "please type python "
  71. "ReadFileXlsx.py --file=[xlsxfilename]"
  72. else:
  73.  
  74. run1(options.xlsxfile, 10)
  75. run2(options.xlsxfile, 10)
  76.  
  77. if __name__ == "__main__":
  78. main()
  79.  
  80. >main.py --file=sample.xlsx
  81. run1() - 0 - time = 0:00:02.489000
  82. run1() - 1 - time = 0:00:02.272000
  83. run1() - 2 - time = 0:00:02.516000
  84. run1() - 3 - time = 0:00:02.259000
  85. run1() - 4 - time = 0:00:02.310000
  86. run1() - 5 - time = 0:00:02.265000
  87. run1() - 6 - time = 0:00:02.285000
  88. run1() - 7 - time = 0:00:02.322000
  89. run1() - 8 - time = 0:00:02.254000
  90. run1() - 9 - time = 0:00:02.377000
  91. run1() - TOTAL time = 0:00:23.360000
  92. run2() - 0 - time = 0:00:00
  93. run2() - 1 - time = 0:00:00
  94. run2() - 2 - time = 0:00:00
  95. run2() - 3 - time = 0:00:00.001000
  96. run2() - 4 - time = 0:00:00.001000
  97. run2() - 5 - time = 0:00:00.002000
  98. run2() - 6 - time = 0:00:00.001000
  99. run2() - 7 - time = 0:00:00.001000
  100. run2() - 8 - time = 0:00:00.001000
  101. run2() - 9 - time = 0:00:00.001000
  102. run2() - TOTAL time = 0:00:44.256000
  103.  
  104. wbHandler = xlrd.open_workbook(self.__xlsx_file)
  105.  
  106. time.sleep(3)
  107.  
  108. >main.py --file=sample.xlsx
  109. run1() - 0 - time = 0:00:03.001000
  110. run1() - 1 - time = 0:00:03
  111. run1() - 2 - time = 0:00:03.001000
  112. run1() - 3 - time = 0:00:03
  113. run1() - 4 - time = 0:00:03
  114. run1() - 5 - time = 0:00:03
  115. run1() - 6 - time = 0:00:03.001000
  116. run1() - 7 - time = 0:00:03.001000
  117. run1() - 8 - time = 0:00:03
  118. run1() - 9 - time = 0:00:03
  119. run1() - TOTAL time = 0:00:30.009000
  120. run2() - 0 - time = 0:00:00
  121. run2() - 1 - time = 0:00:00
  122. run2() - 2 - time = 0:00:00
  123. run2() - 3 - time = 0:00:00
  124. run2() - 4 - time = 0:00:00
  125. run2() - 5 - time = 0:00:00.001000
  126. run2() - 6 - time = 0:00:00
  127. run2() - 7 - time = 0:00:00
  128. run2() - 8 - time = 0:00:00
  129. run2() - 9 - time = 0:00:00
  130. run2() - TOTAL time = 0:00:03.008000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement