Найти - Пользователи
Полная версия: Парсинг файлов на Python`е
Начало » Центр помощи » Парсинг файлов на Python`е
1
endy1
Друзья, нужна ваша помощь. Дали мне задание написать скрипт на Python`е. Я немного писал на bash, но в любом случае я не капли не программист. Изучаю, но пока дается все со скрипом.


1. Есть каталоги пользователей /home/ftp/users/*/ В них могут появляться файлы с окончанием .file
2. Нужно пройти эти каталоги, отыскать эти файлы.
3. Затем парсить каждый из их по ключевому слову “image”
4. И вывести список файлов на экран в виде нумерованного списка + напротив имени некотрые параметры которые следуют за словом image.

Наверняка для опытного программиста это задача не представляет сложности. Поможете?
FishHook
endy1
Поможете?
Понятие “помощь” подразумевает активное участие нуждающегося в помощи.
Сейчас вы просите не помочь написать программу, а сделать вашу работу за вас.
endy1
Да, ув. FishHook. Вы правы. Может быть найдется человек, который поможет написать эти 6-7 строчек кода.
Собственно обход каталогов у меня получилось сделать. И даже парсится текст из файлов. Но выводится весь текст, а мне нужно, чтобы только то, что в паттерне.

#!/usr/bin/env python
import glob
import sys
import re
path = '/opt/sftp/users/*/*.request'
pattern = 'image_file'
files=glob.glob(path)
for file in files:
        f=open(file, 'r')
        a = sys.stdout.write(f.read())
        f.close()
py.user.next
>>> def search_files(path, pat):
...     return ['a.txt', 'b.txt']
... 
>>> def parse_files(seq):
...     return map(get_info, seq)
... 
>>> def get_info(fname):
...     return fname + ' info'
... 
>>> def print_table(seq):
...     for n, (c1, c2) in enumerate(seq, 1):
...         print('{:03} {} <{}>'.format(n, c1, c2))
... 
>>> def f():
...     dirpath = '/path'
...     pattern = 'pattern'
...     
...     files = search_files(dirpath, pattern)
...     infos = parse_files(files)
...     print_table(zip(files, infos))
... 
>>> f()
001 a.txt <a.txt info>
002 b.txt <b.txt info>
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB