eg:p = os.getcwd() p为当前文件夹的路径
eg:os.mkdir(path="/home/rui/PycharmProjects/pythonProject/li") 在/home/rui/PycharmProjects/pythonProject地址下新建一个文件夹li
os.mkdir(path),他的功能是一级一级的创建目录,前提是前面的目录已存在,如果不存在会报异常,比较麻烦,但是存在即有他的道理,当你的目录是根据文件名动态创建的时候,你会发现他虽然繁琐但是很有保障,不会因为你的一时手抖,创建而创建了双层或者多层错误路径。
os.makedirs(path),单从写法上就能猜出他的区别,他可以一次创建多级目录,哪怕中间目录不存在也能正常的(替你)创建,想想都可怕,万一你中间目录写错一个单词.........
import os
os.mkdir('d:\hello') # 正常
os.mkdir('d:\hello\hi') # 正常
# 如果d:\hello目录不存在
# 则os.mkdir('d:\hello\hi')执行失败
import os
os.makedirs('d:\hello') # 正常
os.makedirs('d:\hello\hi') # 正常
# 如果d:\hello目录不存在
# 则os.mkdir('d:\hello\hi') # 仍然正常
eg:os.rmdir(path="/home/rui/PycharmProjects/pythonProject/li")
删除文件夹li
eg:if os.path.isdir(path), path:要进行判断的路径
eg:if os.path.isfile(path)
os.path.splitext(path):将路径的文件名和后缀名分割。其中文件名只是名称。
path指一个文件的路径(相对路径或者绝对路径)作为参数:
1.1 如果给出的是一个目录和文件名,则输出路径的文件名称和后缀;
1.2 如果给出的是一个目录名,则输出路径和空后缀;
import os
file_path = "D:/test/data_expand/192.168.1.70_01_20210901163745710_250_150_4...jpg"
filename,extension = os.path.splitext(file_path)
print("filename:",filename) # D:/test/data_expand/192.168.1.70_01_20210901163745710_250_150_4..
print("extension:",extension) # .jpg
file_path ="D:/test/data_expand/"
filename,extension = os.path.splitext(file_path)
print("filename:",filename) # D:/test/data_expand/
print("extension:",extension) # 空文件后缀
import os
path1 = 'aaa/bbb/ccc'
path2 = 'aaa/bbb/ccc/'
print(os.path.basename(path1)) #输出ccc
print(os.path.basename(path2)) #输出空
用法:
os.getenv(key, default = None)
import os
key = 'HOME'
value = os.getenv(key)
print("Value of 'HOME' environment variable :", value)
#如果key存在,输出 Value of ‘HOME’ environment variable : /home/ihritik
#如果key不存在,输出 Value of ‘HOME’ environment variable : None
import os
key = 'home'
value = os.getenv(key, "value does not exist")
print("Value of 'home' environment variable :", value)
#如果key不存在,输出 Value of ‘home’ environment variable : value does not exist
python是跨平台的。在Windows上,文件的路径分隔符是'\',在Linux上是'/'。
为了让代码在不同的平台上都能运行,那么路径应该写'\'还是'/'呢?
使用os.sep的话,就不用考虑这个了,os.sep根据你所处的平台,自动采用相应的分隔符号。
data_dir = os.sep.join(['hello', 'world'])
hello/world或者hello\world
Linux系统某个路径,/usr/share/python,那么上面的os.sep就是‘/’
windows系统某个路径,C:\Users\Public\Desktop,那么上面的os.sep就是‘\’.