Parse the executing file path
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Retrieving python module path
python, path of script
我有一个python文件,我想在执行这个文件时解析路径。如果我像这样运行mypython.py:
1 | python ~/Documents/Project/myPython.py |
我想知道mypython.py文件中的路径"~/documents/project/"。
1 2 | import sys, os print os.dirname(sys.argv[0]) |
如果它是在命令行中输入的完整路径,则它依赖于操作系统;macosx和linux都包含该路径。
但是,路径可以根据python调用它的方式而有所不同。另一种选择是使用
1 | print os.path.dirname(os.path.abspath(os.path.expanduser(__file__))) |
只需在py文件中编写两条语句:
1 2 | import sys print sys.argv[0] |
这个例子应该证明是有用的:
测试:PY:
1 2 3 4 | import os print 'Script directory: ' + os.path.realpath(os.path.dirname(__file__)) print 'Working directory: ' + os.getcwd() |
终端执行:
1 2 3 4 | $ cd ~ $ python ~/Desktop/test.py Script directory: /Users/tomas/Desktop Working directory: /Users/tomas |