首页 > 解决方案 > 为什么 os.getcwd() 在 vs 代码和终端中返回不同的值?

问题描述

我写了一个简单的python3.7代码,如下所示:

import os

if __name__ == "__main__":
    c = os.getcwd()
    print(c)

此代码路径是~/PyStudy/OsTest/test.py

当我在 VS Code 和终端中运行它时,出现了不同的结果。

我在 VS Code 中使用 Code Runner 来运行 python 代码。

我不知道为什么,请帮助我。

标签: pythonpython-3.x

解决方案


因为它们在不同的目录中运行。

显然,您在父目录中启动了 VS Code,它只是继续在那里运行,直到您终止它。

同样显然,您首先通过cd进入此目录从终端运行脚本。不过,没有必要这样做。尝试

( cd /; python3 ~/PyStudy/OsTest/test.py )

在终端提示符下。

一般来说,进程的当前工作目录是一种便利机制。通过使用相对路径,您可以编写更短的文件名;但在大多数情况下,您可以使用绝对文件名来代替在任何目录中运行的进程。


推荐阅读