0

我正在尝试使用 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变量的值。

4

4 回答 4

4

我想你可以使用os.system,但更好的可能是subprocess

import subprocess
subprocess.call(['say',x])
于 2012-10-10T18:49:40.603 回答
2

您正在传递字符串,您可以使用 x 的值,例如

sytem('say {0}'.format(x))

传递字符串时,您可以使用字符串格式。当您意识到您需要在字符串中获取 x 的值而不是变量 x http://docs.python.org/library/string.html#format-examples

于 2012-10-10T18:48:24.473 回答
0

您可以使用格式

system('say {}'.format(x))
于 2012-10-10T18:48:48.393 回答
0

使用字符串格式:

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
于 2012-10-10T18:48:49.843 回答