python文件操作基础

时间:2025-04-12 21:20:12

1、创建目录

可以递归的创建目录结构

import os
('dirname', exist_ok=True)

exist_ok = True指定了,如果某个要创建的目录已经存在,也不报错。

2、删除文件或目录

可以删除一个文件

('')

() 可以递归的删除某个目录所有的子目录和子文件

import shutil
('tmp', ignore_errors=True)

参数ignore_errors = True 保证如果目录不为空,不会抛出异常。

3、拷贝目录

要拷贝一个目录里面所有的内容(包括子目录和文件、子目录里面的子目录和文件)到另一个目录中,可以使用shutil的copytree函数

form shutil import copytree
copytree('d:/tools/aaa', 'e:/new/bbb')

拷贝前,目标目录必须不存在,否则会报错。

拷贝前,如果e:/new这个目录不存在,执行时会创建e:/new目录,再创建e:/new/bbb目录,再拷贝

拷贝前,如果e:/new存在,但是e:/new/bbb不存在,就只会创建e:/new/bbb,再拷贝

4、修改文件名、目录名

('d:/tools/aaa', 'd:/tools/bbb')
('d:/tools/', 'd:/tools/')

linux系统上,如果重命名之前d:/tools/已存在,则会覆盖。

5、对文件路径的操作

import os
path = '/user/beazley/data/'
# 获取路径中的文件名部分
(pat)	# ''
# 获取路径中的目录部分
(path)	# '/user/beazley/data'
# 文件路径的拼接
('tmp', 'data', (path))
# 'tmp/data/'

6、判断文件、目录是否存在

('d:/systems/')
('d:/systems')

7、判断是否是文件或目录

('d:/systems/')
('d:systems')

8、文件大小和修改日期

# 返回文件大小
('file')
# 返回文件的最后修改日期,是秒时间
('file')
# 把秒时间转化为日期时间
(('/etc/passwd'))

9、取当前工作目录

cwd = ()
# 切抽当前工作目录到另外的路径
(path)

10、遍历目录下文件

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

# dirpath:当前遍历到的目录名
# dirnames:存放当前dirpath中的所有子目录名
# filenames:存放当前dirpath中的所有文件名
for(dirpath, dirnames, filenames) in (targetDir):
    files += filenames
    dirs += dirnames
print(files)
print(dirs)

获取目录下所有文件的全路径:

targetDir = r'd:/tmp/util/dist/check'
for(dirpath, dirnames, filenames) in (targetDir):
    for fn in filenames:
        # 把dirpath和每个文件名拼接起来
    	fpath = (dirpath, fn)

取目录中所有的文件和子目录名:

targetDir = r'd:/tmp/util/dist/check'
files = (targetDir)
print(files)

如果只需要获取目录中所有的文件,或只需要子目录:

import os
from  import isfile, join, isdir
targetDir = r'd:/tmp/util/dist/check'
# 所有的文件
print([f for f in (targetDir) if isfile(join(targetDir, f))])
# 所有的目录
print([f for f in (targetDir) if isdir(join(targetDir, f))])

11、取目录中指定扩展名的文件和子目录

import glob
exes = (r'd:/tmp/*.txt')
print(exes)