OS模块

2022-03-22  本文已影响0人  失忆的蝴蝶

路径中使用斜杠/和反斜杠\的区别

事实上是只有windows系统中用\,其他的项目中,linux中都使用/

Unix使用斜杆/ 作为路径分隔符,而web应用最先使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。

Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件导航栏都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。

OS模块

OS模块就是为了解决同一套代码,在不同系统上都能运行,解决文件路径的问题

获取当前脚本路径

print(__file__)     # __file__是当前脚本名称,但名称中的路径不能适合多平台,在win系统上适用,但在Linux系统可能就不适合了,所以要使用os模块
print(os.path.abspath(__file__))    # 获取当前脚本名称,脚本在不同的平台上运行时,会自动转换成对应系统的路径

D:/Pycharm_workspace/day23_代码分层/setting.py
D:\Pycharm_workspace\day23_代码分层\setting.py

获取当前脚本绝对路径(包括脚本名称)

os.path.abspath(__file__)

os.path.dirname获取当前脚本所在目录

print(os.path.abspath(__file__)) 
print(os.path.dirname(os.path.abspath(__file__)) )
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)) ))

可以一层层套上去

判断文件夹是否存在,创建文件夹

判断当前脚本所在目录是否存在某个文件夹,如果不存在就创建

    if not os.path.exists('reports'):
        os.makedirs('reports')

上面代码中表示,当前脚本所在目录如果没有reports文件夹就创建,如果不是在当前脚本所在目录,exists和makedirs就要传要判断文件夹的绝对路径

    report_dir=os.path.join(BASE_DIR, 'reports')
    if not os.path.exists(report_dir):
        os.makedirs(report_dir)
上一篇 下一篇

猜你喜欢

热点阅读