Python 解析正在执行的文件路径

Python 解析正在执行的文件路径,python,path,Python,Path,可能重复: 我有一个Python文件,我想在执行该文件时解析路径。如果我像这样运行myPython.py: python ~/Documents/Project/myPython.py 我想知道文件myPython.py中的路径“~/Documents/Project/”。是Python执行的脚本的路径。您可以使用以下命令仅获取目录名: import sys, os print os.dirname(sys.argv[0]) 如果它是在命令行中输入的完整路径,则它取决于操作系统;MacO

可能重复:

我有一个Python文件,我想在执行该文件时解析路径。如果我像这样运行myPython.py:

python ~/Documents/Project/myPython.py
我想知道文件myPython.py中的路径“~/Documents/Project/”。

是Python执行的脚本的路径。您可以使用以下命令仅获取目录名:

import sys, os
print os.dirname(sys.argv[0])
如果它是在命令行中输入的完整路径,则它取决于操作系统;MacOSX和Linux都包含路径

但是,路径可能会根据Python调用它的方式而有所不同。另一种选择是使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
,您可以通过使用和覆盖所有变体来使路径成为绝对

print os.path.dirname(os.path.abspath(os.path.expanduser(__file__)))

这个例子应该有帮助:

test.py:

在终端执行:

$cd~ $python~/Desktop/test.py 脚本目录:/Users/tomas/Desktop
工作目录:/Users/tomas只需在py文件中编写两条语句:

          import sys
          print sys.argv[0] 
$ cd ~ $ python ~/Desktop/test.py Script directory: /Users/tomas/Desktop Working directory: /Users/tomas
          import sys
          print sys.argv[0]