11.Python OS文件目录操作

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)

 

转载于:https://my.oschina.net/CoderW/blog/995272

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值