Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么os.getcwd()在vs代码和终端中返回不同的值?_Python_Python 3.x - Fatal编程技术网

Python 为什么os.getcwd()在vs代码和终端中返回不同的值?

Python 为什么os.getcwd()在vs代码和终端中返回不同的值?,python,python-3.x,Python,Python 3.x,我编写了一个简单的Python 3.7代码,如下所示: import os if __name__ == "__main__": c = os.getcwd() print(c) 此代码路径为~/PyStudy/OsTest/test.py 当我在VS代码和终端中运行它时,出现了不同的结果 在终端中,它返回:~/PyStudy/OsTest 在VS代码中,它返回:~/PyStudy,不带/OsTest 我在VS代码中使用CodeRunner来运行python代码 我不知道

我编写了一个简单的Python 3.7代码,如下所示:

import os

if __name__ == "__main__":
    c = os.getcwd()
    print(c)
此代码路径为
~/PyStudy/OsTest/test.py

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

  • 在终端中,它返回:
    ~/PyStudy/OsTest

  • 在VS代码中,它返回:~/PyStudy,不带/OsTest
我在VS代码中使用CodeRunner来运行python代码


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

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

显然,您在父目录中启动了VS代码,并且它一直在那里运行,直到您终止它

同样很明显,您从终端运行脚本时,首先将
cd
放入该目录。不过,没有必要这么做。试一试

( cd /; python3 ~/PyStudy/OsTest/test.py )
在终端提示下


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

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

显然,您在父目录中启动了VS代码,并且它一直在那里运行,直到您终止它

同样很明显,您从终端运行脚本时,首先将
cd
放入该目录。不过,没有必要这么做。试一试

( cd /; python3 ~/PyStudy/OsTest/test.py )
在终端提示下


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

如果它返回不同的值,您可以确保它返回正确的值。区别一定在于你运行程序的方式。Vs代码可能会将其工作目录设置为与从终端运行时不同的内容。

如果它返回不同的值,则可以确保它返回正确的值。区别一定在于你运行程序的方式。Vs代码可能会将其工作目录设置为与从终端运行时不同的内容。

两者的执行入口点都不同。这就是它发生的原因。

两者的执行入口点不同。这就是它发生的原因