Python glob не находит никаких результатов

#python #file #glob #fnmatch

#python #файл #глобус #fnmatch

Вопрос:

Я пытаюсь извлечь некоторые данные из текстового файла. Это строка кода:

 directory = './mydirec'
files = glob('{0:s}/*.gather.txt'.format(directory))
  

Я продолжаю получать [] , поэтому результатов нет. Кто-нибудь может помочь мне понять, почему?
Спасибо

Комментарии:

1. Попробуйте использовать полный путь. Или убедитесь, что вы работаете из правильного каталога ( os.getcwd() .

2. Какой результат вы ожидали? Какие файлы / пути есть в этом каталоге?

3. Если mydirec находится в том же каталоге, что и скрипт, сделайте directory = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mydirec') .

4. Просто предположение: может быть, попробовать '.' вместо './mydirec' ?

Ответ №1:

Возможно, я неправильно понял ваш вопрос, но сбор данных из .txt действительно очень прост. Вы можете открыть и прочитать текстовый файл с 3 или 4 строками кода:

 f = open("file.txt", "r ")
data = f.read()
print(data)
f.close()
  

и если вы ищете данные из определенных строк .txt, вы можете использовать:

 f = open("file.txt", "r ")
lines = f.readlines()
print(lines[25])
f.close()
  

или, если вы хотите искать определенную часть данных в текстовом файле в целом

 f = open("file.txt", "r ")
read = f.read()
data = read
f.close()
if "<specific word you're looking for>" in data:
#react based on the information being in the data.
  

Я не верю, что вам нужно возиться.формат или что-то в этом роде, вы можете просто использовать путь к файлу или, если он находится в той же папке, что и ваш скрипт, просто имя файла.

Комментарии:

1. Я думаю, что вопрос скорее в том, почему glob() не дает ожидаемого результата

2. тогда это моя вина. Я прочитал «пытаюсь получить данные из файла» и «этот код не работает», а затем подумал: «но зачем вам это делать в первую очередь? чтение текстовых файлов легко, просто сделайте это. »

3. Название действительно вводило в заблуждение