【发布时间】:2010-10-10 08:47:43
【问题描述】:
重复:
In Python, how do I get the path and name of the file that is currently executing?
如何获取我正在运行的 Python 脚本的路径?我在做dirname(sys.argv[0]),但是在 Mac 上我只得到文件名 - 而不是我在 Windows 上做的完整路径。
无论我的应用程序是从哪里启动的,我都想打开与我的脚本文件相关的文件。
【问题讨论】:
-
杰夫好像忘记了不是所有的python脚本都是模块,请提名重开。
-
@sorin 哦,但他们是;可以为任何脚本文件创建
module对象。仅仅因为某些东西从未真正得到imported 并不能使它“不是一个模块”。无论如何,答案是相同的:将脚本视为一个模块(如果确实需要,请使用某种引导程序),然后应用相同的技术。 -
是的,脚本是一个模块,但是这个问得好问题应该重新打开。这里没有回答,“重复”问题不是重复的,因为它只回答了如何获取您已加载的模块的位置,而不是您所在的模块。
-
在stackoverflow.com/questions/50499/…查看“导入检查”解决方案
-
@acidzombie24 你不需要完整路径来打开和操作目录中的文件。例如,您可以使用
open('images/pets/dog.png'),而 Python 将执行其他操作。