Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2010 17:41:23

Spidermag
От:
Зарегистрирован: 2010-07-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите что обозначает groups()[0] ?

Подскажите что обозначает ноль в квадратных скобках в 20 строке?
и если не затруднит, название литературы в которой про это можно почитать.

1 #!/usr/bin/env python
2
3 from cStringIO import StringIO
4 import re
5
6 vhost_start = re.compile(r'<VirtualHost\s+(.*?)>')
7 vhost_end = re.compile(r'</VirtualHost')
8 docroot_re = re.compile(r'(DocumentRoot\s+)(\S+)')
9
10 def replace_docroot(conf_string, vhost, new_docroot):
11 ‘'’yield new lines of an httpd.conf file where docroot lines matching
12 the specified vhost are replaced with the new_docroot
13 ‘'’
14 conf_file = StringIO(conf_string)
15 in_vhost = False
16 curr_vhost = None
17 for line in conf_file:
18 vhost_start_match = vhost_start.search(line)
19 if vhost_start_match:
20 curr_vhost = vhost_start_match.groups()
21 in_vhost = True
22 if in_vhost and (curr_vhost == vhost):
23 docroot_match = docroot_re.search(line)
24 if docroot_match:
25 sub_line = docroot_re.sub(r'\1%s' % new_docroot, line)
26 line = sub_line
27 vhost_end_match = vhost_end.search(line)
28 if vhost_end_match:
29 in_vhost = False
30 yield line
31
32 if __name__ == ‘__main__’:
33 import sys
34 conf_file = sys.argv
35 vhost = sys.argv
36 docroot = sys.argv
37 conf_string = open(conf_file).read()
38 for line in replace_docroot(conf_string, vhost, docroot):
39 print line,
40



Офлайн

#2 Авг. 5, 2010 17:55:19

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

Подскажите что обозначает groups()[0] ?

Это первый совпавший элемент. В твоем случае он всего один и может быть, и результат будет строка между “<VirtualHost ” и “>”.



Офлайн

#3 Авг. 5, 2010 18:04:50

Spidermag
От:
Зарегистрирован: 2010-07-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите что обозначает groups()[0] ?

Спасибо большое, а в какой литературе это описано не подскажете?



Офлайн

#4 Авг. 5, 2010 18:13:50

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

Подскажите что обозначает groups()[0] ?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version