Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 16, 2010 18:12:21

avdoshkin
От:
Зарегистрирован: 2009-08-08
Сообщения: 93
Репутация: +  -1  -
Профиль   Отправить e-mail  

Чтение всех файлов

Как прочитать один файле в режиме чтения это понятно
open('vlanxxx.txt', ‘r’)
не так не получается vlan*.txt, *.*, *.txt
геропом как два байта переслать egrep xxx vlan*.txt

а как все прочитать?



Офлайн

#2 Янв. 16, 2010 19:28:18

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Чтение всех файлов

Так?

'\n'.join([open(fname).read() for fname in glob.glob("vlan*.txt")])



Офлайн

#3 Янв. 17, 2010 07:54:58

avdoshkin
От:
Зарегистрирован: 2009-08-08
Сообщения: 93
Репутация: +  -1  -
Профиль   Отправить e-mail  

Чтение всех файлов

Можно и так
for line in glob.glob(“vlan*.txt”):
if ‘XX.XX.XX.XX’ in open(line).read():
print open(line).read()

только он вывод где нашел и вывод всего, а нужно только строку найденную

Есть еще у кого варианты?



Офлайн

#4 Янв. 17, 2010 12:54:10

crchemist
От:
Зарегистрирован: 2008-07-09
Сообщения: 379
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение всех файлов

http://docs.python.org/library/fileinput.html

>>> import glob, fileinput
>>> files = fileinput.input(glob.glob('*.zcml'))
>>> for line in files:
... print line
...



Отредактировано (Янв. 17, 2010 12:56:05)

Офлайн

#5 Янв. 17, 2010 13:12:09

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Чтение всех файлов

avdoshkin
только он вывод где нашел и вывод всего, а нужно только строку найденную
Вы сами поняли чего сказали :) ?



Офлайн

#6 Янв. 17, 2010 13:22:41

avdoshkin
От:
Зарегистрирован: 2009-08-08
Сообщения: 93
Репутация: +  -1  -
Профиль   Отправить e-mail  

Чтение всех файлов

Ed
avdoshkin
только он вывод где нашел и вывод всего, а нужно только строку найденную
Вы сами поняли чего сказали :) ?
немного загнал, бывает :)



Офлайн

#7 Янв. 17, 2010 13:58:46

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Чтение всех файлов

Так что надо-то? Вначале было это

а как все прочитать?
Вам дали 2 рецепта как это сделать. В результате вы написали что-то непонятное, но видно, что надо вам что-то другое.



Отредактировано (Янв. 17, 2010 13:59:27)

Офлайн

#8 Янв. 17, 2010 14:40:44

avdoshkin
От:
Зарегистрирован: 2009-08-08
Сообщения: 93
Репутация: +  -1  -
Профиль   Отправить e-mail  

Чтение всех файлов

Ed
Так что надо-то? Вначале было это
а как все прочитать?
Вам дали 2 рецепта как это сделать. В результате вы написали что-то непонятное, но видно, что надо вам что-то другое.
Рецепт от crchemist то что нужно!
Спасибо тем, кто отвечал на эти прописные истины.



Офлайн

#9 Янв. 18, 2010 17:12:59

avdoshkin
От:
Зарегистрирован: 2009-08-08
Сообщения: 93
Репутация: +  -1  -
Профиль   Отправить e-mail  

Чтение всех файлов

Еще раз возобновляю тему но с коррекцией вопроса!
Есть функция из первой функции f1 передаем аргумент mac, если сделать во второй функции print mac:

00:19:5b:fe:56:5b

00:19:5b:fe:56:86

00:19:5b:fe:78:e7

получается что он выводит с отступом новой строки, следовательно если переменную mac вставить в цикл то он будет обрывать цикла ему не нравиться новая строка и цикл прекращается.

def f2(mac):
files = fileinput.input(glob.glob('vlan*.txt'))
for line in files:
if mac in line:
return line

Вопрос, как тогда скормить ему мои переменные в цикл?



Офлайн

#10 Янв. 19, 2010 10:18:30

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Чтение всех файлов

А что функция f2 должна делать?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version