我想输入一个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'")
答案 0 :(得分:5)
改用subprocess
;除了其他功能之外,它还使报价变得更加容易。
import subprocess
phone_number = raw_input("Number?")
subprocess.call(["yowsup-cli", "demos", "--login", "PHONE:PASSWORD=",
"--send", phone_number, "MESSAGE"])
答案 1 :(得分:4)
如果您想坚持使用os.system
拨打电话,您只需格式化传递给它的命令:
import os
phone_number = raw_input("Number?")
os.system("yowsup-cli demos --login PHONE:PASSWORD= --send '{0}' 'MESSAGE'".format(phone_number))
然而,切普纳在他的回答中提出了一个很好的观点。你应该真的使用subprocess
模块来做这样的事情,因为它更加flexible tool。要使用subprocess
获得相同的行为,只需将列表传递给subprocess.call
,其中元素是您呼叫的所有空格分隔段:
import subprocess
phone_number = raw_input("Number?")
subprocess.call(["yowsup-cli", "demos", "--login" "PHONE:PASSWORD=", "--send", phone_number, "MESSAGE"])
您可以在subprocess
here上查看更多内容。
答案 2 :(得分:1)
使用:
os.system("yowsup-cli demos --login PHONE:PASSWORD= --send '%d' 'MESSAGE'" % Phonenumber)