【发布时间】:2012-11-20 21:38:29
【问题描述】:
我有一个 Python 文件,我想在执行该文件时解析路径。如果我这样运行 myPython.py:
python ~/Documents/Project/myPython.py
我想知道文件 myPython.py 中的路径“~/Documents/Project/”。
【问题讨论】:
我有一个 Python 文件,我想在执行该文件时解析路径。如果我这样运行 myPython.py:
python ~/Documents/Project/myPython.py
我想知道文件 myPython.py 中的路径“~/Documents/Project/”。
【问题讨论】:
只是你需要在py文件中写两条语句:
import sys
print sys.argv[0]
【讨论】:
这个例子应该很有帮助:
test.py:
import os
print 'Script directory: ' + os.path.realpath(os.path.dirname(__file__))
print 'Working directory: ' + os.getcwd()
终端执行:
$ cd ~ $ python ~/桌面/test.py 脚本目录:/Users/tomas/Desktop 工作目录:/Users/tomas
【讨论】:
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__)))
【讨论】: