最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

关于目录问题的总结-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

正斜线/

关键词: 转义字符 目标目录 磁盘根目录