объект builtin_function_or_method 'не повторяется с использованием os.walk - PullRequest
0 голосов
/ 15 марта 2020

Попытка построить анализатор / регистратор ошибок для модема SATCOM iDirect.

Ищу помощи. Более конкретно, я в настоящее время застрял на линии, "для х в F:". Этот синтаксис работает, если путь к файлу статически назначен одному файлу, но не во время os.walk l oop

В настоящее время получено сообщение об ошибке «Трассировка (последний вызов был последним): файл» C : \ Users \ Desktop \ ACM_Scan_Tool.py ", строка 17, для x в f: TypeError: объект builtin_function_or_method не может быть повторен

#*My current code*

import os
rootdir = (r"C:\Users\Desktop\AUB_AES_ACM")

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
       if file.endswith(".log"):
            print(file)
            f = open
            **for x in f:**
                if x.rfind('OpenAMIP: received <-- w 0 0 0 0 0 0 0 0 0 0') >-1 :
                    print(x, end='')
            f.close
        else:
            continue

1 Ответ

1 голос
/ 15 марта 2020

Вы не вызываете функцию open в строке f = open, поэтому вы никогда не открывали файл. Это должно быть f = open(file). Или вы можете использовать оператор with.

print(file)
with open(file) as f:
    for x in f:
        if x.rfind('OpenAMIP: received <-- w 0 0 0 0 0 0 0 0 0 0') >-1 :
            print(x, end='')
...