Jes*_*aal 3 python variables macos bash os.system
我想输入一个电话号码,raw_input并在我的bash命令中使用此变量来发送消息.我不知道如何设置变量$ Phonenumber.没有RAW输入,它就像一个魅力.我使用Python 2.7.
import os
Phonenumber = raw_input("Number?)
os.system("yowsup-cli demos --login PHONE:PASSWORD= --send '$Phonenumber' 'MESSAGE'")
Run Code Online (Sandbox Code Playgroud)
如果您想坚持使用 usingos.system拨打电话,您只需格式化您传递给它的命令:
import os
phone_number = raw_input("Number?")
os.system("yowsup-cli demos --login PHONE:PASSWORD= --send '{0}' 'MESSAGE'".format(phone_number))
Run Code Online (Sandbox Code Playgroud)
然而,chepner 在他的回答中提出了一个很好的观点。您真的应该将subprocess模块用于此类事情,因为它是一个更加灵活的工具。要使用 获得相同的行为subprocess,只需将列表传递给subprocess.call元素是调用的所有空格分隔段:
import subprocess
phone_number = raw_input("Number?")
subprocess.call(["yowsup-cli", "demos", "--login" "PHONE:PASSWORD=", "--send", phone_number, "MESSAGE"])
Run Code Online (Sandbox Code Playgroud)
使用subprocess代替; 除了其他功能,它使报价更容易.
import subprocess
phone_number = raw_input("Number?")
subprocess.call(["yowsup-cli", "demos", "--login", "PHONE:PASSWORD=",
"--send", phone_number, "MESSAGE"])
Run Code Online (Sandbox Code Playgroud)