我有一个Python文件,我想在执行此文件时解析路径。如果我像这样运行myPython.py:
python ~/Documents/Project/myPython.py
我想知道文件myPython.py中的路径“〜/ Documents / Project /”。
答案 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]