Я пытаюсь написать код, который будет искать файлы в каталоге, и для любого из них, которые содержат строку с «51» по «100» в пятой строке, будет напечатано имя файла.
Я попытался изменить первый оператор в цикле 'for' на:
s = i
for i in range(51,100):
, но это просто возвращает ошибку, поскольку он ищет строку, а не int
path = './data/'
files = [f for f in glob.glob(path + "*.crs", recursive=False)]
# Open the file
for f in files:
line = 5
fh: TextIO = open(f)
text = fh.read()
# Conditions
for line in f:
s: str = '62' # Takes input of a string from user
if s in text: # string is present in the text file
print(f)
break
else:
continue
fh.close()
TypeError: 'in <string>' requires string as left operand, not int
Мой текущий код напечатает имя файла, содержащего '62' в пятой строке. Я просто ищу способ заставить его распечатать все файлы, которые содержат любое число от 51 до 100 в пятой строке.
MAT Mathematics
Calculus I
TH 8/26/19 12/11/19
3
62