可能重复:
检索python模块路径
python,脚本路径
我有一个 Python 文件,我想在执行该文件时解析路径。如果我像这样运行 myPython.py:
python ~/Documents/Project/myPython.py
我想知道文件 myPython.py 中的路径“~/Documents/Project/”。
可能重复:
检索python模块路径
python,脚本路径
我有一个 Python 文件,我想在执行该文件时解析路径。如果我像这样运行 myPython.py:
python ~/Documents/Project/myPython.py
我想知道文件 myPython.py 中的路径“~/Documents/Project/”。
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__)))
这个例子应该很有帮助:
测试.py:
import os
print 'Script directory: ' + os.path.realpath(os.path.dirname(__file__))
print 'Working directory: ' + os.getcwd()
在终端执行:
$光盘~ $ python ~/桌面/test.py 脚本目录:/Users/tomas/Desktop 工作目录:/Users/tomas
只是你需要在 py 文件中写两条语句:
import sys
print sys.argv[0]