我正在尝试使用Python从列表中选择一个变量,然后使用bash命令将其说出来。现在我有类似的东西
foo = ["a","b","c","d"]
from random import choice
x = choice(foo)
foo.remove(x)
from os import system
system('say x')
这就是“x”,我需要的是它说出x
变量的值。
答案 0 :(得分:3)
我想你可以使用os.system
,但更好的可能是subprocess
:
import subprocess
subprocess.call(['say',x])
答案 1 :(得分:2)
你传递astring你可以使用x的值,如
sytem('say {0}'.format(x))
传递字符串时,您可以使用字符串格式。正如您所知,您需要在字符串中获取x的值而不是变量x http://docs.python.org/library/string.html#format-examples
答案 2 :(得分:1)
使用字符串格式:
In [9]: x="ls -ld"
In [10]: os.system("{0}".format(x))
drwxr-xr-x 41 monty monty 4096 2012-10-10 22:46 .
Out[10]: 0
答案 3 :(得分:0)
您可以使用format:
system('say {}'.format(x))