比如:这里有多个类似domain.com.conf的文件
文件内容:
server {
listen 80;
server_name domain.com;
root /usr/local/nginx/html/domain;
location ^~ /sorry/ {
alias /usr/local/nginx/html/sorry/;
}
}
说明:文件中root和后面文件路径之间的空格多少不一
目的:提取root这行中的/usr/local/nginx/html/domain;
发现问题:用split以空格进行切割,由于这样有多个空格,在切割完毕后从左到右不好进行切片如line[1],当然这个直接切割[-1]就行,那如果是这种 root /html/zanao break;呢?
方法:re.sub(' +', ' ', 要被替换的源内容)
with open('data/domain.com.conf') as f1:
for line in f1:
new_line = line.strip()
if new_line.startswith('root'):
new_line = re.sub(' +', ' ', new_line)
print(new_line)
# 输出结果
root /usr/local/nginx/html/domain;
这会回不管中间有几个空格都可以被替换成一个
有问题及时私信我哦~