首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何正确确定当前脚本目录?

如何正确确定当前脚本目录?
EN

Stack Overflow用户
提问于 2010-09-15 22:34:57
回答 16查看 146.9K关注 0票数 331

我想看看在Python中确定当前脚本目录的最佳方法是什么。

我发现,由于调用Python代码的方式很多,很难找到一个好的解决方案。

以下是一些问题:

如果使用模块执行脚本,则不定义

  • __file__;如果仅在execfile
  • __module__

中定义模块,则不定义exec

使用案例:

  • ./myfile.py
  • python myfile.py
  • ./somedir/myfile.py
  • python somedir/myfile.py
  • execfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,并且可以拥有另一个当前目录。

我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法。

最常用的方法是os.path.dirname(os.path.abspath(__file__)),但是如果您使用exec()从另一个脚本执行脚本,那么这种方法就不起作用了。

警告

任何使用当前目录的解决方案都将失败,这可能会根据脚本的调用方式而有所不同,也可以在运行的脚本中进行更改。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3718657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档