python 打印路径的几种结果

本文介绍了如何在Python中准确地获取程序的当前路径,对比了不同方法如os.getcwd(), os.path.abspath(os.curdir), sys.argv[0]等的区别,并推荐了最稳定的路径获取方式。

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

文件 Find_Path.py

print 'os.getcwd():', os.getcwd()

print 'os.path.abspath(os.curdir):', os.path.abspath(os.curdir)
print "os.path.abspath('.'):", os.path.abspath('.')
print 'sys.path[0]:', sys.path[0]

print 'sys.argv[0]:', sys.argv[0]


在命令行窗口下执行Find_Path.py

结果如下:


使用命令 pyinstaller Find_Path.py将Find_Path.py打包成exe程序,执行Find_Path.exe,结果如下:



使用命令pyinstaller -F Find_Path.py重新将Find_Path.py打包成单个exe程序时,执行Find_Path.exe,结果如下:



综上分析:

os.getcwd()、os.path.abspath(os.curdir)、os.path.abspath('.')在以上三种情况下的结果都是执行文件所在的目录

sys.argv[0]是当前执行的Python脚本的文件名,不一定是当前的路径。

sys.path[0]是当前系统环境变量的第一个值。当运行.py和以生成多文件模式打包的可执行文件时,输出结果是程序的当前目录。而由单文件模式打包生成的可执行文件,输出结果是系统的默认当前工作目录。

由于os.getcwd()、os.path.abspath(os.curdir)、os.path.abspath('.')是获取的当前python 的工作目录,而工作目录是可以通过os.chdir(path)更改的。

os.chdir(path):改变当前工作目录到指定路径path。

所以如果想要获取当前路径,最稳定的方法是:os.path.dirname(sys.argv[0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值