解析执行文件路径

时间:2012-12-03 12:10:23

标签: python path

  

可能重复:
  Retrieving python module path
  python, path of script

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

python ~/Documents/Project/myPython.py

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

3 个答案:

答案 0 :(得分:3)

sys.argv[0]是Python执行的脚本路径。您可以使用os.path.dirname()从中获取目录名称:

import sys, os
print os.dirname(sys.argv[0])

如果它是在命令行输入的完整路径,则取决于操作系统; Mac OS X和Linux都包含路径。

但是,路径可以根据Python调用它的方式而有所不同。另一种方法是使用__file__,您可以使用os.path.abspath()os.path.expanduser()来覆盖所有变体,从而使路径成为绝对路径:

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

答案 1 :(得分:0)

这个例子应该有用:

test.py:

import os

print 'Script directory: ' + os.path.realpath(os.path.dirname(__file__))
print 'Working directory: ' + os.getcwd()

在终端执行:

$ cd ~
$ python ~/Desktop/test.py 
Script directory: /Users/tomas/Desktop
Working directory: /Users/tomas

答案 2 :(得分:0)

只需要在py文件中写两个语句:

          import sys
          print sys.argv[0]