【发布时间】:2015-12-21 14:40:34
【问题描述】:
当我在 Linux 的 Python 3.2.3 中运行以下命令时,它什么也不做......
subprocess.call("export TZ=Australia/Adelaide", shell=True)
但是,如果我在终端中运行它,它可以工作......
export TZ=Australia/Adelaide
我之前没有遇到过使用 subprocess.call 的问题。好像就是这个。我以超级用户身份运行,所以这不是 sudo 的事情,我还尝试在字符串前面放一个 r 以使其成为原始字符串。
有什么想法吗?谢谢。
【问题讨论】:
-
如果你想在 Python 中修改环境变量,请阅读
os.environ。 -
@metatoaster 我知道了,但它仍然只是程序中的本地范围。当我退出程序时,它保持原样。有没有办法让操作系统永久更新? os.environ['TZ'] = '澳大利亚/阿德莱德' time.tzset()
-
如果您的 Linux 发行版支持,您需要调用 OS/shell 特定的修改方法,例如修改
.bashrc、/etc/environment或/etc/timezone。
标签: python linux subprocess call