python3,py编译成exe,获取当前路径,__file__无效

本文通过实例演示了多种获取Python脚本当前路径的方法,包括使用__file__,os.path,sys.path和sys.argv等关键函数。对比了在.py和.exe环境下各方法的表现,总结了sys.argv[0]和os.path.dirname(sys.argv[0])为获取当前文件目录的可靠方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做了个例子,试了主要的获取当前路径的方法

# coding:utf-8

 

# 文件路径相关模块

import os

import sys

 

# 获取当前py文件的文件夹路径

print( "__file__:" + __file__)

print ( "os.path.dirname( __file__ ):" + os.path.dirname( __file__ ) )

print ( "os.path.abspath(__file__):" + os.path.abspath(__file__) )

print ( "os.path.dirname(os.path.abspath(__file__)):" + os.path.dirname(os.path.abspath(__file__)) )

print ( "os.path.realpath(__file__):" + os.path.realpath(__file__) )

 

print ( "sys.path[0]:" + sys.path[0] )

print ( "sys.argv[0]:" + sys.argv[0] )

print ( "os.getcwd():" + os.getcwd() )

 

print ( "os.path.dirname( sys.argv[0] ):" + os.path.dirname( sys.argv[0] ) )

 

py和exe执行的结果

结论:

sys.argv[0]

在py和exe下都有效

os.path.dirname( sys.argv[0] )可以获取当前文件的目录

 

其他关键字:

FileNotFoundError No such file or directory

os.path.dirname

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值