import os
1、获取当前工作目录:
os.getcwd()
'C:\\Users\\admin'
2、更改工作目录:
1--> os.chdir("C:\\Users") #注意Windows系统下的目录要带上\\
2--> os.chdir(r"C:\Users") #加 r 可使用单斜杠的方式
3、创建目录
os.mkdir(r"C:\a") #单级创建
os.makedirs(r"C:\a\b\c") #递归创建
4、删除目录
os.removedirs(r"C:\a\b\c") #多级删除,若目录c为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.rmdir(r"C:\a\b") #单级删除,这里只删除b目录,a目录还在
5、列举所有目录:
os.listdir(r"C:") #注意C:后面不能带\
6、删除文件:
os.remove(r"C:\a.txt")
7、文件/目录重命名:
os.rename("旧路径","新路径")
8、文件/目录信息:
os.stat(r"C:\a.txt")
9、分隔符:
输出当前操作系统的路径分隔符:
os.sep
输出当前操作系统的行分隔符:
os.linesep
输出当前操作系统的(PATH)文件路径分隔符:
os.pathsep
10、获取系统中的环境变量:
os.environ
11、输出字符串表示当前使用平台:
os.name # “nt”表示Windows,“posix”表示Linux
12、执行系统命令:
os.system("dir")
13、os.path.xxx()系列
⑴ 将路径中的目录和文件名分开:
>>> os.path.split(r"C:\a\b\c\a.txt")
('C:\\a\\b\\c', 'a.txt')
⑵ 取出路径中的目录名:
>>> os.path.dirname(r"C:\a\b\c\a.txt")
'C:\\a\\b\\c'
⑶ 取出路径中的文件名:
>>> os.path.basename(r"C:\a\b\c\a.txt")
'a.txt'
⑷ 判断文件/目录是否存在:
>>> os.path.exists(r"C:\a\b\a.txt") #存在返回True
False
⑸ 判断输入是不是绝对路径:
>>> os.path.isabs(r"C:\a") #不做存在与否判断,是绝对路径返回True
True
⑹ 判断输入是不是文件:
>>> os.path.isfile(r"C:\a.txt") # 会做存在与否判断,是文件返回True
True
⑺ 判断输入是不是目录:
>>> os.path.isdir(r"C:\a\b\c") # 会做存在与否判断,是目录返回True
False
⑻ 将两个路径拼接在一起:
>>> os.path.join(r"C:",r"\a.txt")
'C:\\a.txt'
⑼ 获取文件最后修改时间:
>>> os.path.getmtime(r"C:\a.txt")
1508160721.5064645
⑽ 获取文件最后的存取时间:
>>> os.path.getatime(r"C:\a.txt")
1508160721.5064645
⑾ 规范化path路径:
os.path.normpath()
使用join()或利用嵌入变量由单独的字符串组合路径时,得到的路径最后可能会有多余的分隔符或者相对路径部分,使用normpath()可以清除这些内容。
>>> os.path.join(r'C:',r'\\\b.txt')
'C:\\\\\\b.txt'
>>> os.path.normpath(os.path.join(r'C:',r'\\\b.txt'))
'C:\\b.txt'
特殊用法:找出当前文件的上n层目录
>>> print(os.path.normpath(os.path.join(os.path.abspath(__file__),os.pardir,os.pardir)))
E:\python-scripts
# 打印程序文件所在目录的上层目录,这里调用一次os.pardir就去一层目录。
# 程序文件绝对路径:E:\python-scripts\day4\transfer.py