Python 为什么os.getcwd()在vs代码和终端中返回不同的值?
我编写了一个简单的Python 3.7代码,如下所示: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代码 我不知道
import os
if __name__ == "__main__":
c = os.getcwd()
print(c)
此代码路径为~/PyStudy/OsTest/test.py
当我在VS代码和终端中运行它时,出现了不同的结果
- 在终端中,它返回:
~/PyStudy/OsTest
- 在VS代码中,它返回:
~/PyStudy
,不带/OsTest
我不知道为什么,请帮帮我 因为它们在不同的目录中运行 显然,您在父目录中启动了VS代码,并且它一直在那里运行,直到您终止它 同样很明显,您从终端运行脚本时,首先将
cd
放入该目录。不过,没有必要这么做。试一试
( cd /; python3 ~/PyStudy/OsTest/test.py )
在终端提示下
一般来说,进程的当前工作目录是一种方便的机制。通过使用相对路径,您可以编写更短的文件名;但是在大多数情况下,您可以使用一个绝对文件名来代替在任何目录中运行的进程。,因为它们在不同的目录中运行 显然,您在父目录中启动了VS代码,并且它一直在那里运行,直到您终止它 同样很明显,您从终端运行脚本时,首先将
cd
放入该目录。不过,没有必要这么做。试一试
( cd /; python3 ~/PyStudy/OsTest/test.py )
在终端提示下
一般来说,进程的当前工作目录是一种方便的机制。通过使用相对路径,您可以编写更短的文件名;但在大多数情况下,您可以从任何目录中运行的进程使用绝对文件名。如果它返回不同的值,您可以确保它返回正确的值。区别一定在于你运行程序的方式。Vs代码可能会将其工作目录设置为与从终端运行时不同的内容。如果它返回不同的值,则可以确保它返回正确的值。区别一定在于你运行程序的方式。Vs代码可能会将其工作目录设置为与从终端运行时不同的内容。两者的执行入口点都不同。这就是它发生的原因。两者的执行入口点不同。这就是它发生的原因