我正在尝试使用 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
变量的值。
我想你可以使用os.system
,但更好的可能是subprocess
:
import subprocess
subprocess.call(['say',x])
您正在传递字符串,您可以使用 x 的值,例如
sytem('say {0}'.format(x))
传递字符串时,您可以使用字符串格式。当您意识到您需要在字符串中获取 x 的值而不是变量 x http://docs.python.org/library/string.html#format-examples
您可以使用格式:
system('say {}'.format(x))
使用字符串格式:
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