我正在向需要sudo权限的文件追加文本。当我运行下面的python脚本时:
import subprocess
ssid= "testing"
psk= "testing1234"
p1 = subprocess.Popen(["wpa_passphrase", ssid, psk], stdout=subprocess.PIPE)
p2 = subprocess.Popen(["sudo","tee","-a","/etc/wpa_supplicant/wpa_supplicant.conf",">","/dev/null"], stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close()
output,err = p2.communicate
它将按预期附加到文件,但将附加以下内容:
network={
ssid="testing"
#psk="testing1234"
psk=9891dab18debe8308a5d3bf596f5277e4a5c158bff016145830b12673ef63360
}
当我想要这个的时候:
network={
ssid="testing"
psk="testing1234"
key_mgmt=WPA-PSK
}
这个子进程语法对我来说很复杂,所以我愿意接受另一种方法!我试图使用f=open("appendedtext >> /etc/wpa_supplicant/wpa_supplicant.conf")
,但我需要以sudo
的身份运行,而且我似乎找不到通过open()实现这一点的方法。我得到一个权限错误。
感谢您的帮助!!你知道吗
这不是python或子进程问题,您将从
wpa_passphrase
获得预期的输出,请参见手册页:如果您需要纯文本密码,只需将其写入文件而不调用
wpa_passphrase
:别忘了用
sudo
:sudo python script.py
来称呼它。你知道吗相关问题 更多 >
编程相关推荐