展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

文件目录

  • 递归创建目录,如果路径已存在,也不会报错
import os
os.makedirs('tmp/python/fileop',exist_ok=True)
  • 删除1个文件
os.remove('sdf.py')
  • 递归删除目录
import shutil
shutil.rmtree('tmp', ignore_errors=True)
  • 拷贝文件,如果存在则覆盖
from shutil import copyfile

# 拷贝 d:/tools/first.py 到 e:/first.py
copyfile('d:/tools/first.py', 'e:/first.py')
  • 拷贝目录:拷贝前, 目标目录必须 不存在 ,否则会报错
from shutil import copytree

# 拷贝 d:/tools/aaa 目录中所有的内容 到 e:/bbb 中
copytree('d:/tools/aaa', 'e:/new/bbb')
  • 修改文件名、目录名
import os

# 修改目录名 d:/tools/aaa 为 d:/tools/bbb
os.rename('d:/tools/aaa','d:/tools/bbb')

# 修改文件名 d:/tools/first.py 为 d:/tools/second.py
os.rename('d:/tools/first.py','d:/tools/second.py')
  • 判断文件、目录是否存在
import os
os.path.exists('d:/systems/cmd.exe')
os.path.exists('d:/systems')
  • 判断是否是1个文件
import os

# 返回值为True 表示是文件
os.path.isfile('d:/systems/cmd.exe')
  • 判断是否是目录
import os

# 返回值为True 表示是目录
os.path.isdir('d:/systems')
  • 获取当前工作目录
cwd = os.getcwd()
  • 切换工作目录
os.chdir(path)
  • 遍历目录下的所有文件
import os

# 目标目录
targetDir = r'd:\tmp\util\dist\check'
files = []
dirs  = []

# 下面的三个变量 dirpath, dirnames, filenames
# dirpath 代表当前遍历到的目录名
# dirnames 是列表对象,存放当前dirpath中的所有子目录名
# filenames 是列表对象,存放当前dirpath中的所有文件名

for (dirpath, dirnames, filenames) in os.walk(targetDir):
    files += filenames
    dirs += dirnames

print(files)
print(dirs)
  • 获取目录下的所有文件的路径
import os

# 目标目录
targetDir = r'd:\tmp\util\dist\check'

for (dirpath, dirnames, filenames) in os.walk(targetDir):
    for fn in filenames:
        # 把 dirpath 和 每个文件名拼接起来 就是全路径
        fpath = os.path.join(dirpath, fn)
  • 获取目录下的所有文件和子目录
import os

# 目标目录
targetDir = r'd:\tmp\util\dist\check'


files =  os.listdir(targetDir)
print(files)
  • 方式2
import os
from os.path import isfile, join,isdir

# 目标目录
targetDir = r'd:\tmp\util\dist\check'

# 所有的文件
print([f for f in os.listdir(targetDir) if isfile(join(targetDir, f))])

# 所有的目录
print([f for f in os.listdir(targetDir) if isdir(join(targetDir, f))])
  • 获取指定文件
import glob
exes = glob.glob(r'd:\tmp\*.txt')

print(exes)
posted @ 2023-10-08 20:39  DogLeftover  阅读(5)  评论(0编辑  收藏  举报