2012-05-09 4 views
0

У меня есть программа, которая сканирует папку или путь для определенного типа файлов, а затем анализирует их.Обобщение программы с помощью iglob

import glob 
path = raw_input("ENTER PATH TO SEARCH: ") 
list_of_file = glob.iglob('*.txt') 
for filename in list_of_file:  
     print filename` 

Но в этом сценарии программа будет сканировать каталог только в котором она была сохранена в path заявлении не получает никакого значения.

Теперь, если я пишу:

list_of_file = glob.iglob(path + '*.txt') 

это тоже не делают моя работа идет.

Итак, пожалуйста, предложите способ, которым любой путь, который я вводил в программу, следует этому пути и поиск определенных типов файлов, независимо от того, где я сохранил свой сценарий.

ответ

0

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

Если да, то следующий код должен быть достаточным, чтобы дать вам пример:

"""Find all .py files is a given directory.""" 
import os 
import glob 

path = raw_input("Enter path: ") 
fullglob = os.path.join(path, "*.py") 
for fn in glob.iglob(fullglob): 
    print os.path.split(fn)[1] 

Последняя строка взлетает путь вы положили, чтобы обеспечить iglob() находит правильный каталог. Вы можете использовать функцию help() для получения документации по os.path.join() и os.path.split().

 Смежные вопросы

  • Нет связанных вопросов^_^