如何知道调用python脚本的目录?

pro*_*eek 14 python path

假设我在/A/B/a.py中有一个python脚本a.py,它位于PATH环境变量中.当前工作目录是/ X/Y /,它是我调用/A/B/a.py的目录.

  • 在a.py中,如何检测/ X/Y /?我的意思是,如何知道python调用的目录是什么?

Rad*_*ski 22

您可以使用以下命令获取当前工作目录:

os.getcwd()
Run Code Online (Sandbox Code Playgroud)

  • 出于可移植性的原因,你应该使用`getcwdu()`. (5认同)
  • 函数[`getcwdu`](https://docs.python.org/2/library/os.html#os.getcwdu)在Python 2中返回一个Unicode字符串。[`getcwd`](https:// docs。 Python 3中的python.org/3/library/os.html#os.getcwd)返回unicode字符串。[`getcwdb`](https://docs.python.org/3/library/os.html#os.getcwdb)在Python 3中返回一个字节串。在Python 3中没有`getcwdu`。 (2认同)

Mat*_*kin 6

>> os.getcwd()
/X/Y
>> os.path.dirname(os.path.realpath(__file__))   # cannot be called interactively
/A/B
>> sys.path[0]
/A/B
>> os.path.abspath(sys.argv[0])
/A/B/a.py
Run Code Online (Sandbox Code Playgroud)