【发布时间】:2018-08-31 03:08:56
【问题描述】:
我知道模块os 以及如何使用os.environ.get('a', 'b')。 It will catch current environment variable 'a', if not exists will default to 'b'.
但是今天我有一个小问题。这是我关于这个问题的小项目:
.vscode/
launch.json
.env
runme.py
对于 runme.py:
import os
vv = os.environ.get('SETTINGS', 'Nothing')
print(vv)
.env 文件也很简单,比如 runme.py
SETTINGS = proj.settings.local
在 launch.json 中,关注Python debugging configurations in VS Code
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/runme.py"
}
]
}
然后,按F5,我看到了我希望在内部终端
中看到的内容>cd d:\tmp\tt && cmd /C "set "SETTINGS=proj.settings.local" && set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && python c:\Users\tony\.vscode\extensions\ms-python.python-2018.7.1\pythonFiles\PythonTools\visualstudio_py_launcher.py d:\tmp\tt 62502 34806ad9-833a-4524-8cd6-18ca4aa74f14 RedirectOutput,RedirectOutput D:\tmp\tt/runme.py "
proj.settings.local
但是当我在 COMMAND LINE python runme.py 中运行命令时,我看到 COMMAND LINE 中打印了“Nothing”。为什么?
那是 IDE(例如:VSCode)为我做的吗?或者我对os module 有什么误解?请给我解释一下。
【问题讨论】:
标签: visual-studio-code anaconda python-3.6