Python 使用sed-e注释和取消注释

Python 使用sed-e注释和取消注释,python,sed,raspberry-pi,comments,Python,Sed,Raspberry Pi,Comments,我在python脚本中使用sed-e对我的RPi2的/etc/network/interfaces文件中的行进行注释和取消注释。它的工作方式是,当我运行python脚本时,/etc/network/interfaces中的特定行将分别被注释和取消注释。然而,我面临一个错误,我不能注释掉一些行,换句话说,它没有在我想要注释掉的行前面添加一个。我还面临取消对wpa conf/etc/wpa_supplicant.conf的注释的问题 这是我在python脚本中用于注释的代码: stream = os

我在python脚本中使用sed-e对我的RPi2的/etc/network/interfaces文件中的行进行注释和取消注释。它的工作方式是,当我运行python脚本时,/etc/network/interfaces中的特定行将分别被注释和取消注释。然而,我面临一个错误,我不能注释掉一些行,换句话说,它没有在我想要注释掉的行前面添加一个。我还面临取消对wpa conf/etc/wpa_supplicant.conf的注释的问题

这是我在python脚本中用于注释的代码:

stream = os.popen("sudo sed -e '/iface wlan0 inet static/ s/^#*/#/' -i /etc/network/interfaces
我还有大约4行几乎相同的代码,只是“iface…static”的部分发生了变化

我用于取消对wpa conf/etc/wpa_supplicant.conf的注释的代码如下:

stream = os.popen("sudo sed -e '/wpa-conf /etc/wpa_supplicant.conf/ s/^#*//' -i /etc/network/interfaces
运行python时出现的错误是:

sh :1 tc/wpa_supplicant.conf/: not found
python脚本设法注释掉除1行以外的所有行,并取消注释掉除wpa conf/etc/wpa_-suplicant.conf行以外的所有行


如有任何帮助,我将不胜感激

您需要在这个匹配/wpa-conf/etc/wpa\u-supplicant.conf/到/wpa-conf\/etc\/wpa\u-supplicant.conf中转义前斜杠/

发生的事情是sed看到/wpa conf/e,它告诉它在匹配/wpa conf/的行上执行后续命令。随后的命令是tc/wpa_supplicant.conf/,它不是有效的sed命令