本问题已经有最佳答案,请猛点这里访问。
在python中,我可以使用哪些命令来查找:
当前目录(运行python脚本时我在终端中的位置),以及
我正在执行的文件在哪里?
不是"如何在python中获取当前目录的完整路径"的副本。因为这个问题还要求输入当前的工作目录,而不是。
所以有两个问题
要获取包含python文件的目录的完整路径,请将其写入该文件:
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
(注意,如果您已经使用os.chdir()来更改当前的工作目录,上面的咒语将不起作用,因为__file__常量的值与当前的工作目录相关,并且不会被os.chdir()调用更改。)
要获取当前工作目录,请使用
import os
cwd = os.getcwd()
上述模块、常量和函数的文档参考:
os和os.path模块。
__file__常数
os.path.realpath(path)(返回"指定文件名的规范路径,消除路径中遇到的任何符号链接")。
os.path.dirname(path)(返回路径名path的目录名)
os.getcwd()(返回"表示当前工作目录的字符串")
os.chdir(path)(将当前工作目录改为path)
我讨厌用这个附加到sys.path。我现在觉得很脏。
如果从IDE调用文件(比如说空闲),则该文件将不起作用。建议os.path.realpath("./")或os.getcwd()。这里最好的答案是:stackoverflow.com/questions/263219/…
@Neon22可能适合某些需求,但我认为应该注意到,这些东西根本不一样-文件可能在工作目录之外。
颠倒顺序怎么样,重要吗?os.path.realpath(os.path.dirname(__file__))
@当使用dirname反转realpath时,moberg通常路径相同,但当文件(或其目录)实际上是符号链接时,路径不同。
它得到一个错误NameError: name '__file__' is not defined。如何解决这个问题?
显然,根据文件,提前支付sys.path是可以接受的。
在某些版本的python 2(主要是windows版本)中,包含utf-8字符(如emojis)的路径将返回两个