001、对比os.path.abspath()、__file__、os.getcwd()的区别

一、关于sys.path系统路径

​ python执行py文件的时候,默认就会把当前运行环境的相关目录增加到sys.path系统路径中。

1.在pycharm中直接运行脚本:

print(sys.path, '00001')
# ['D:\\Test_it', 'D:\\Test_it', 'D:\\Program Files\\JetBrains\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_display', 'C:\\Python38\\python38.zip', 'C:\\Python38\\DLLs', 'C:\\Python38\\lib', 'C:\\Python38', 'C:\\Python38\\lib\\site-packages', 'D:\\Program Files\\JetBrains\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_matplotlib_backend'] 00001

2.在命令行界面执行脚本:

print(sys.path, '00001')
# ['D:\\Test_it', 'C:\\python38\\python38.zip', 'C:\\python38\\DLLs', 'C:\\python38\\lib', 'C:\\python38', 'C:\\python38\\lib\\site-packages'] 00001

二、os.path.abspath()

​ 获得当前脚本存放的绝对路径。

三、_ _ file _ _

​ 获得当前脚本存放的绝对路径,在pycharm中与Windows命令行界面执行的结果是路径分割符不一致,pycharm给优化成了与win不一致的分隔符。在通过os.path.normpath()与os.path.abspath()优化后,得到的路径就与win系统路径规则一致。

四、os.getcwd()

​ 得到当前脚本的工作目录(并非脚本存放的绝对路径)。

五、对比运行结果

1.在pycharm中直接运行脚本

print(os.path.abspath(__file__))  
# D:\Test_it\start.py
print(__file__)
# D:/Test_it/start.py
print(os.path.normpath(__file__))
# D:\Test_it\start.py
print(os.getcwd())
# D:\Test_it
print(os.path.normpath(os.getcwd()))  
# D:\Test_it

2.在windows命令行界面执行脚本

print(os.path.abspath(__file__))  
# D:\Test_it\start.py
print(__file__)
# D:\Test_it\start.py
print(os.path.normpath(__file__))
# D:\Test_it\start.py
print(os.getcwd())
# C:\Users\Bayer04
print(os.path.normpath(os.getcwd()))  
# C:\Users\Bayer04


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值