1

可能重复:
检索python模块路径
python,脚本路径

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

python ~/Documents/Project/myPython.py

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

4

3 回答 3

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__)))
于 2012-12-03T12:12:05.960 回答
0

这个例子应该很有帮助:

测试.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
于 2012-12-03T12:21:45.827 回答
0

只是你需要在 py 文件中写两条语句:

          import sys
          print sys.argv[0] 
于 2012-12-03T12:27:28.397 回答