2014-11-02 3 views
0

Я нашел этот фрагмент кода, который читает все строки определенного файла.Python: как читать все файлы в каталоге

Как отредактировать его, чтобы он читал все файлы (html, text, php .etc) в папке «каталог» один за другим, без необходимости указывать путь к каждому файлу? Я хочу искать каждый файл в каталоге для ключевого слова.

path = '/Users/folder/index.html' 
    files = glob.glob(path) 
    for name in files: 
     try: 
      with open(name) as f: 
       sys.stdout.write(f.read()) 
     except IOError as exc: 
      if exc.errno != errno.EISDIR: 
       raise 
+0

если это ключевое слово, если нашли то, что вы хотите сделать то ??? – Hackaholic

+0

@Hackaholic плохо напечатайте что-то на данный момент – user3702643

+0

проверить код, который я дал – Hackaholic

ответ

1
import os 
your_path = 'some_path' 
files = os.listdir(your_path) 
keyword = 'your_keyword' 
for file in files: 
    if os.path.isfile(file): 
     f=open(os.path.join(your_path,file),'r') 
     for x in f: 
      if keyword in x: 
       #do what you want 
     f.close() 

os.listdir('your_path') перечислит все содержимое каталога
os.path.isfile будет проверять свой файл или нет

+0

У отредактированного кода нет вывода вообще, кроме процесса, завершенного с кодом завершения 0 – user3702643

+0

Предполагается, что вы меняете строку '#do what you want 'своим собственным кодом, который будет делать то, что вы хотите, включая печать любого вывода. – Psytho