为什么os.system('set foo = bar')不起作用?

twn*_*ale 1 python environment environment-variables

可能是一个愚蠢的问题:为什么我不能用这个设置环境变量?

os.system('set foo=bar') # on windows
Run Code Online (Sandbox Code Playgroud)

我知道os.environ,这对我有用.我只是为什么前者不起作用感到困惑.

Ale*_*lli 11

请参阅此处的讨论- export并且set都是shell命令,无论是在Windows还是Unix上,它们仍然不可避免地被发送到运行shell 的子进程(无论是bash,cmd.exe,还是其他),因此无处可去.子进程终止时的操作(即os.system返回调用者时).