张德长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

关于目录问题的总结-Python

关于目录问题的总结

os.makedirs

os.makedirs(name, mode=0o777, exist_ok=False)

作用

用来创建多层目录(单层请用os.mkdir)

参数说明

name:你想创建的目录名

mode:要为目录设置的权限数字模式,默认的模式为 0o777 (八进制)。

exist_ok:是否在目录存在时触发异常。如果exist_ok为False(默认值),则在目标目录已存在的情况下触发FileExistsError异常;如果exist_ok为True,则在目标目录已存在的情况下不会触发FileExistsError异常。

 

目录分隔符

Windows上默认的目录分隔符是反斜杠\,但是因为其被选作转义字符的原因,编码中反斜杠表示为'\\',或者"\\",前者表示一个反斜杠字符,后者是其字符串形式。

同时Windows上也可以用斜杠'/'作为目录分隔符。

连续多个斜杠或者反斜杠算作一个目录分隔符。因此“E:\\\\\\\\test//\\t1”这样的路径虽然看起来有些怪异,实际上确是合法的。

Linux下只支持以斜杠'/'作为目录分割符。同样地,连续多个斜杠算作一个。

为了win和mac的移植兼容性,选择左分隔符 "/";

路径分隔符:正斜线/、反斜线\、双反斜线\\的区别

1.这些符号在不同的系统下意义不同:

//双斜线:协议和主机名之间的分隔符 (比如http://localhost:8080)

/单斜线:windows里或者WEB上或者Unix内核的目录架构分隔符

\反斜线:windows 里的目录结构的分隔符, 正斜线也可

\\双反斜线 :在windows里表示绝对地址的第一项,比如后面跟上IP地址的话,就是需要打开

这个IP地址的网络共享资源。

\\在windows表示当前磁盘根目录;

2.关于目录间的间隔符用正斜线(/)或则反斜线(\)的问题。

1)在UNIX环境下,目录中的间隔符是正斜线/。

2)在Windows平台上,目录中的间隔符用正斜线/和反斜线\都可以。

3)在java程序里,目录中的间隔符可以是正斜线/。反斜线\表示转义字符,所以如果需要在Java程序里用到Windows平台上的反斜线\作为目录间隔符,必须是双反斜线\\。

即:目录间隔符要么是斜线/,要么是双反斜线\\。

测试Python

import os

#获取当前文件所在的路径,包含该文件的文件名和扩展名

print(__file__)# D:\PyFile\Test230304\main.py

#获取当前文件所在的文件夹路径,而不包含当前文件的文件名和扩展名

print(os.path.dirname(__file__))# D:\PyFile\Test230304

print(os.path.abspath(os.path.dirname(__file__)))#D:\PyFile\Test230304

#\\表示当前磁盘的根目录

print(os.path.abspath('\\data'))#D:\data

#.\\表示当前文件夹目录

print(os.path.abspath('.\\data'))#D:\PyFile\Test230304\data

#..\\表示上一级文件夹目录

print(os.path.abspath('..\\data'))#D:\PyFile\data

#路径最前面的/和\\含义相同,都是当前磁盘根目录

print(os.path.abspath('/data'))#D:\data

#./和.\\的含义相同,都是当前文件夹目录

print(os.path.abspath('./data'))#D:\PyFile\Test230304\data

#../和..\\含义相同,都是上级文件夹目录

print(os.path.abspath('../data'))#D:\PyFile\data

 

#将波浪线符号扩展为 当前用户文件夹路径

user_dir = os.path.expanduser('~/.pycorrector/datasets/')

print(user_dir)#C:\Users\Administrator/.pycorrector/datasets/

#在Window操作系统中/和\都可以作为不同级别目录间的分隔符,

# 在程序设计中\被当做转义字符,要使用2个\\来表示一个反斜杠,或者在字符串前面使用禁止转义符号

 

不同平台

不同平台下的目录分隔符

Windows

正斜线/ 反斜线\均可

mac

正斜线/

linux

正斜线/

 

 

posted on   张德长  阅读(47)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示