比如:这里有多个类似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;这会回不管中间有几个空格都可以被替换成一个
有问题及时私信我哦~