この質問をする方法が正確にはわかりませんが、ここに行きます。
空のリストがあります
リスト内のリストに要素を追加したい。
したがって、私の場合、Apache.conf を調べて、ServerAlias を含む行を探しています。
それが見つかったら、その行をサブリストの最後の要素に追加したいと思います。それで....
[['ServerAlias test.com']]
特定の仮想ホストに別のエントリが見つかった場合、その項目を同じサブリストに追加します。
[['ServerAlias test.com','ServerAlias neww.com']]
次回新しい vhost を通過するとき。このリストの最後にリストを追加して、最初からやり直したいです。等々...
[['ServerAlias test.com','ServerAlias neww.com'],['ServerAlias cranberry.com']]
私はこれを説明する恐ろしい仕事をしたことを知っています.
これが私の非動作コードですので、参考になるかもしれません。
def buildvars(fileoutput):
import time
import re
servername=[]
docroot=[]
serveralias=[[]]
vhostdata={}
invhost=0
for line in fileoutput.split('\n'):
if line == '' or re.search('^#',line) or re.search('^\s+#',line): #delete blank lines... I dont care about them
pass
else:
if re.search('^\s*\<VirtualHost', line): #check if we are in a vhost
invhost=1 #mark that we are in a vhost
aliascounter=0
elif re.search('^\s*\</VirtualHost', line):
invhost=0
if aliascounter==0:
serveralias.append('None')
if invhost == 1:
if re.search('^\s*ServerName.*$',line): #if we are in a vhost, check if the line contains servername
servername.append(line.strip()) #then append it to the vhosts list
if re.search('^\s*DocumentRoot.*$',line):
docroot.append(line.strip())
if re.search('^\s*ServerAlias.*$',line):
if not serveralias:
serveralias[0[0]].append(line.strip())
else:
serveralias[-1[0]].append(line.strip())
aliascounter+=1
誰かが私が話していることを知っていることを願っています。メリークリスマス!