我有实际的关联部分,但是当我打开与我的Python程序关联的文件时,如何打开文件的文件路径?
我认为它类似于sys.argv?但这只是返回python程序的路径,而不是关联的文件。
答案 0 :(得分:1)
模块的__file__
属性可以查找您要查找的内容。例如,保存在foo.py
:
$ cat foo.py
print 'Hello', __file__
$ python foo.py
Hello foo.py
如果您想要绝对路径等, os.path.abspath
会帮助您,等等。
答案 1 :(得分:1)
如sys.argv所述,sys.argv的内容与平台有关。我知道只有当您通过双击打开sys.argv[0]
文件时,.py
才是Windows上的完整路径。使用命令行只会产生脚本名称。
os
模块提供与平台无关的解决方案。应始终使用以下代码提供脚本的完整路径:
import os.path
import sys
print os.path.abspath(sys.argv[0])