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

如何知道调用python脚本的目录?,python,path,Python,Path,假设我在/a/B/a.py中有一个python脚本a.py,它位于PATH环境变量中。当前工作目录是/X/Y/,我在其中调用/A/B/A.py 在a.py中,如何检测/X/Y/?我的意思是,如何知道python调用是在哪个目录下进行的 您可以使用以下工具获取当前工作目录: os.getcwd() python调用所在的目录自动成为工作目录。这将为您提供/A/B目录,A.py的位置。这不是他的意思,请参见他昨天提出的问题()。@Radomir-我认为.py文件所在的目录是OP想要的。您的评论让

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

  • 在a.py中,如何检测/X/Y/?我的意思是,如何知道python调用是在哪个目录下进行的
您可以使用以下工具获取当前工作目录:

os.getcwd()

python调用所在的目录自动成为工作目录。这将为您提供
/A/B
目录,
A.py
的位置。这不是他的意思,请参见他昨天提出的问题()。@Radomir-我认为.py文件所在的目录是OP想要的。您的评论让我重新阅读了OP的问题,发现情况并非如此。出于可移植性的原因,您应该使用
getcwdu()
。该函数返回Python 2中的unicode字符串。在Python中,3返回一个unicode字符串。返回Python3中的ByTestString。Python 3中没有
getcwdu
>> 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