Я написал генератор, но он не выполнялся (строка № 5 не выполнялась в my_func
, но сгенерировал объект генератора в строке № 17).
В режиме отладки даже отладчик не выполнялвыполнить первую точку отладки в строке 5.
Мне интересно, как мой код генерирует «объект-генератор», не входя в соответствующую функцию my_func
.
Мой код:
import time
import os
def my_func(fileName,data):
print("generator Started") # line 5
with open(fileName,'r') as f:
for line in f:
data = line.split(",")
if data in (data[0]):
yield line
def calling_func():
start = time.time()
dirName = "D:\\Datasets"
filName = "data.txt"
fileName = os.path.join(dirName,filName)
keyword1 = 49
data = my_func(fileName,keyword1) # line 17
print(x for x in data)
print("time taken ----=>",(time.time() - start))
if __name__ == "__main__":
calling_func()