上次的路径问题还没解决就被勒索病毒的木马器给搞了两周多, 拖拖拖到现在又开始纠结路径问题...还是学习能力不足啊...

补充一下路径问题的知识, 毕竟jupyter notebookIDE测试的时候有不同的结果, 是不是换个更好的IDE来测试避免这种基础问题比较好呢?

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

第一种

#!/usr/bin/env Python3
# -*- coding:utf-8 -*-

import os
# 当前文件的完整路径名:C:\study\memo\core\text.py


print(os.path.dirname(os.path.dirname(__file__)))  # 获取当前文件所在目录的上级目录:c:\study\memo
print(os.path.dirname(__file__))  # 获取当前文件所在目录:c:\study\memo\core
print(os.getcwd())  # 获取当前运行的目录:C:\study
print(os.path.dirname(r'd:\downloads'))  # 获取指定目录的上级目录:d:\

print(f"获取** 相对** 路径".center(50, "*"))
print(os.path.basename(__file__))  # 获取当前文件名称:text.py
print(os.path.basename(r'd:\downloads'))  # 获取指定目录的相对路径,即当前目录名:downloads

print(f"获取** 绝对 **路径".center(50, "*"))
print(os.path.abspath(__file__))  # 获取当前文件的绝对路径:c:\study\memo\core\text.py
print(os.path.abspath(r'd:\downloads'))  # 获取指定目录的绝对路径:d:\downloads

python文件的路径问题补充上一篇内容 随笔 第1张

第二种, file前面加了个abspath

#!/usr/bin/env Python3
# -*- coding:utf-8 -*-

import os
# 当前文件的完整路径名:C:\study\memo\core\text.py


print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))  
# 获取当前文件所在目录的上级目录:c:\study\memo

print(os.path.dirname(os.path.abspath(__file__)))  # 获取当前文件所在目录:c:\study\memo\core
print(os.getcwd())  # 获取当前运行的目录:C:\study
print(os.path.dirname(r'd:\downloads'))  # 获取指定目录的上级目录:d:\

print(f"获取** 相对** 路径".center(50, "*"))
print(os.path.basename(__file__))  # 获取当前文件名称:text.py
print(os.path.basename(r'd:\downloads'))  # 获取指定目录的相对路径,即当前目录名:downloads

print(f"获取** 绝对 **路径".center(50, "*"))
print(os.path.abspath(__file__))  # 获取当前文件的绝对路径:c:\study\memo\core\text.py
print(os.path.abspath(r'd:\downloads'))  # 获取指定目录的绝对路径:d:\downloads

python文件的路径问题补充上一篇内容 随笔 第2张

刚开始学习的时候常常会不清楚运行的路径,多测试一下多print一下没坏处

https://www.cnblogs.com/lataku/p/10555810.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄