python获取当前目录下文件_如何在Python中获得当前执行的文件的路径?

如何在Python中获得当前执行的文件的路径?

这似乎是个新手的问题,但事实并非如此。有些常见的方法并非在所有情况下都有效:

sys.argv[0]

这意味着使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但如果您从另一个目录中的另一个Python脚本运行,则此操作不起作用,而且在现实生活中可能会发生这种情况。

_文件

这意味着使用path = os.path.abspath(os.path.dirname(__file__))但我发现这不管用py2exe没有

__file__属性,但是有一个

当您从空闲的

execute()没有

__file__属性

OSX10.6

NameError: global name '__file__' is not defined

答案不全的相关问题:

我在找一个通用解,在上述所有用例中都能工作。

更新

下面是一个测试案例的结果:

pythona.py的输出(在Windows上)a.py: __file__= a.py

a.py: os.getcwd()= C:\zzz

b.py: sys.argv[0]= a.py

b.py: __file__= a.py

b.py: os.getcwd()= C:\zzz

阿比#! /usr/bin/env pythonimport os, sysprint "a.py: sys.argv[0]=", sys.argv[0]print "a.py: __file__=", __file__print "a.py: os.getcwd()=",

os.getcwd()printexecfile("subdir/b.py")

subdir/b.py#! /usr/bin/env pythonimport os, sysprint "b.py: sys.argv[0]=", sys.argv[0]print "b.py: __file__=", __file__print "b.py: os.getcwd()=",

os.getcwd()print

树C:.| a.py

\---subdir

b.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值