1.文件检验权限模式Mode
①、os.F_OK:检测Path是否存在
②、os.R_OK:检测Path是否可读
③、os.W_OK:检测Path是否可写
④、os.X_OK:检测Path是否可执行
2.目录信息获取
import os
print('当前路径:',os.getcwd())
print('当前路径<二进制>:',os.getcwdb(),end='\n')
print('当前绝对路径:',os.path.abspath(os.getcwd()))
print('拼接目录:',os.path.join(os.getcwd(),'Other/JoinPathFile'))
# 拆分路径
iconPath = os.getcwd() + '/Other/CaiBird.jpg'
# 后一部分:最后级别的目录或文件名.后缀
print('拆分路径:',os.path.split(iconPath))
# 后一部分:文件后缀
print('文件后缀:',os.path.splitext(iconPath))
print('获取路径名:',os.path.dirname(iconPath))
print('获取文件名:',os.path.basename(iconPath))
# 检测是目录还是文件
print('是否是文件:',os.path.isfile(iconPath))
print('是否是目录:',os.path.isdir(iconPath))
print('是否是绝对路径:',os.path.isabs(iconPath))
# 检测路径是否存在
print('是否存在此路径:',os.path.exists(os.getcwd()+'/CaiBird.jpg'))
# 如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。
print('操作系统名:',os.name)
print('操作系统信息:',os.uname())
# 环境变量
print('环境变量:',os.environ)
print('环境变量PATH:',os.environ.get('PATH'))
3.目录功能性操作
otherPath = os.getcwd() + '/Other'
# 检测目录权限
print(os.access(otherPath,os.F_OK))
# 改变当前工作路径:改变getcwd()获取到的路径
filePaths = [os.getcwd(),os.getcwd()+'/Other']
os.chdir(filePaths[1])
print(os.getcwd())
os.chdir(filePaths[0])
print(os.getcwd())
# 设置路径标记为数字标记
os.chflags(filePaths[0],1)
os.chflags(filePaths[1],11)
# 更改权限
os.chmod(filePaths[0],os.R_OK)
os.fchmod(fd=0,os.R_OK)
# 更改文件所有者:用户名/组名(UID/GID)
os.chown(path=filePaths[0],uid='apple',gid='apple')
os.fchown(fd=0,uid='apple',gid='apple')
# 改变当前进程的根目录
os.chroot(filePaths[0])
os.fchdir(fd=0,filePaths[0])
# 通过文件描述符关闭文件
otherFile = open(otherPath+'/ReadOrWrite.txt','r')
os.close(fd=otherFile.fileno())
os.closerange(fd_low=1,fd_high=100)
# 复制文件描述
# os.dup(fd=otherFile.fileno())
# 返回Path目录下文件或文件夹列表
for pathItem in os.listdir(os.getcwd()):
print(pathItem)
4.文件、目录的创建与删除
mkPath = os.getcwd()+'/MKDirPath'
# 创建目录
os.mkdir(mkPath,os.W_OK)
# 删除目录
os.rmdir(mkPath)
mkPath += '/MKDirSubPath/MKDirSubPath2'
# 创建多级目录<递归创建>
os.makedirs(mkPath)
# 删除多级目录
os.removedirs(mkPath)
touchPath = os.getcwd()+'/TouchPath.txt'
# 创建文件:传入Path
with open(touchPath,'w+') as file:
file.write('Hello Python!')
# 创建文件,传入文件名,当前操作目录为os.getcwd()
# os.mknod("TouchPath.txt",os.W_OK)
# 改变文件权限
os.chmod(touchPath,os.W_OK)
# 文件重命名
os.rename(touchPath,os.getcwd()+'/MKDirFile.txt')
# 删除文件
os.remove(touchPath)
import shutil
# 日常文件或目录管理
iconPath = os.getcwd()+'/Other/CaiBird.jpg'
# 文件复制
shutil.copyfile(iconPath,os.path.dirname(iconPath)+'/CarBird2.jpg')
# 文件移动
movePath = os.path.dirname(iconPath)+'/MovePath'
# 创建目录
if not os.path.exists(movePath):
os.mkdir(movePath)
# 将创建的MovePath文件夹移动到Other同级目录
# shutil.move(movePath,os.getcwd())
# 无法移动文件,只能移动目录
shutil.move(os.getcwd()+'/MovePath',os.path.dirname(iconPath))
import glob
# 文件搜索通配符
# 切换搜索路径
# os.chdir(os.path.dirname(os.getcwd()))
print('当前工作路径:',os.getcwd())
# 根据通配符搜索当前工作路径下的子文件:(不会遍历子文件夹)
for fileName in glob.glob('*.py'):
print(fileName)