关于目录问题的总结
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个\\来表示一个反斜杠,或者在字符串前面使用禁止转义符号
|
||||||
不同平台 |
不同平台下的目录分隔符
|
标签:总结,Python,data,分隔符,斜线,print,os,目录 From: https://www.cnblogs.com/zhangdezhang/p/17177829.html