操作系统相关模块os(operate system),模块相关操作:
1.创建文件夹
os.makedirs('outdir/1dir/innerdir', exist_ok=True) # 创建多层级文件目录,最外层与当前文件同级,exist_ok=True设置当目录存在时不报异常
os.mkdir('first') # 创建单层文件目录,与当前文件同级
2.删除空目录(目录下有文件则不能删除)
os.removedirs('outdir/1dir/innerdir') # 若最里层目录为空,则删除,若上一级目录也为空,也删除
# 依次像外层删,如果遇到目录下有其他文件或者文件夹,则停止删除。
os.rmdir('first') # 删除单级空目录
1dir文件夹下增加了hh.py文件,执行上述语句后,只删除了innerdir
3.查看指定目录下的所有文件
print(os.listdir('testnetdisk')) # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
4.删除一个文件
os.remove('outdir/1dir/hh.py')
5.重命名文件/目录
os.rename('testnetdisk/upload','testnetdisk/upload1')
6.获取文件/目录信息
print(os.stat('testnetdisk/upload1'))
# 输出:os.stat_result(st_mode=33206, st_ino=19703248369748238, st_dev=3729696588, st_nlink=1, st_uid=0, st_gid=0, # st_size=4, st_atime=1554114149, st_mtime=1554114149, st_ctime=1554113980)
# st_mode: inode 保护模式
# st_ino: inode 节点号
# st_dev: inode 驻留的设备
# st_nlink: inode 的链接数
# st_uid: 所有者的用户ID
# st_gid: 所有者的组ID
# st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
# st_atime: 上次访问的时间
# st_mtime: 最后一次修改的时间
# st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,
# 在其它系统上(如Windows)是创建时间。
7.运行shell指令
os.system('ipconfig') # 直接显示执行结果
print(os.popen('ipconfig').read()) # 获取执行结果
8.获取当前脚本工作的目录
print(os.getcwd())
9.改变脚本工作的目录(相当于cd)
os.chdir("outdir")
print(os.getcwd())
10.os.path
# 返回规范化的绝对路径
print(os.path.abspath('testnetdisk/upload1'))
# 将路径分割成目录和文件名二元组返回
print(os.path.split('testnetdisk/upload1'))
# 返回文件所在的目录,即os.path.split(path)的第一个元素
print(os.path.dirname('testnetdisk/upload1'))
# 返回路径中的最后一个/后的值,如果路径以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
print(os.path.basename('testnetdisk/upload1'))
# 检测路径是否存在,存在返回True,否则返回False
print(os.path.exists('testnetdisk/upload1'))
# 检测是否为绝对路径,如果不是则返回False,否则返回True
print(os.path.isabs('testnetdisk/upload1'))
# 检测路径是否是一个文件,如果是返回True,如果是目录,则返回False
print(os.path.isfile('testnetdisk/upload1'))
# 检测路径是否是一个目录,如果是返回True,如果是文件,则返回False
print(os.path.isdir('testnetdisk/upload1'))
# 将多个路径组合成一个路径返回
print(os.path.join('hello','tom','di'))
# 返回文件或者目录最后访问时间,返回的是时间戳
print(os.path.getatime('testnetdisk/upload1'))
# 返回文件或者目录最后修改时间,返回的是时间戳
print(os.path.getmtime('testnetdisk/upload1'))
# 返回路径的大小,返回的是字节大小
print(os.path.getsize('testnetdisk/upload1'))