Запуск модуля из CLI - PullRequest
       1

Запуск модуля из CLI

0 голосов
/ 18 июня 2019

Я тестирую разные способы поиска файлов. Этот код из Python Essential Ref, Дэвид Бизли работает в Python интерактивно. Я адаптировал его для запуска из CL - чтобы увидеть, смогу ли он, и он не работает

Я запустил функцию 'findall' в интерактивном режиме при тестовом поиске, и она работала нормально. Когда я пытаюсь запустить его из CLI, например, python -m find_files 'path', он не работает. Я использовал print (), чтобы попытаться отследить, куда попадает интерпретатор. Он получает sys.argv [1] правильно и входит в функцию findall (). Но это ничего не производит?

import os
import os.path
import glob
import fnmatch
import sys


def findall(pattern, topdir='.'):
    for dir, dirname, files in os.walk(topdir):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                yield os.path.join(dir, name)

if __name__ == "__main__":
    if len(sys.argv) > 1:
        tin = []
        for file_found in findall(sys.argv[1]):
            tin.append(file_found)
        else:
            print('Nothing found')
    else:
        print('Insufficient arguments')
    print(tin)

Я ожидал, что он распечатает file_found. Первоначально я печатал каждый найденный путь, один за другим. Затем я попытался добавить в список, а затем распечатать список. В любом случае, это не работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...