Python找到当前脚本所在的目录

博客探讨了在Python中将绝对路径转换为相对路径的问题。当直接使用'.'打印相对路径时,路径始终指向根目录。解决方案是利用os模块获取脚本的当前工作目录和绝对路径。通过os.path.realpath(sys.argv[0])可以获取脚本的绝对路径,并使用os.path.dirname获取脚本所在的目录。输出显示了各种路径获取方法及其结果。
摘要由CSDN通过智能技术生成

把代码里的绝对路径换成相对路径,直接改成.\打印出来发现总是在根目录下。

网上找到了解决办法,参考文章:

https://www.jianshu.com/p/76a3d317722c

问题原因:

Python里写这种相对路径, 是相对于终端的当前目录的。

解决办法:

先找到当前脚本的绝对路径

print('getcwd', os.getcwd())
print('sysargv', sys.argv)
print('realpath', os.path.realpath(sys.argv[0]))
print('realpath.split', os.path.split(os.path.realpath(sys.argv[0]))[0]) # 这是脚本所在目录
print('__file__', __file__)
print('__file__.dir', os.path.dirname(__file__)) # 这也是脚本所在目录

 以下是输出:

getcwd /etc/named
sysargv ['/home/speng/t.py']
realpath /home/speng/t.py
realpath.split /home/speng
__file__ /home/speng/t.py
__file__.dir /home/speng

在绝对路径后加上相对路径部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值