Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
Python 文件及文件夹操作 os shutil - NOTEBOOK
Python 文件及文件夹操作 os shutil
Python
Posted on 2023-05-18
摘要 : 创建文件夹:os.mkdir('新文件夹')
创建多层文件夹:os.makedirs('第一层文件夹/第二层文件夹/第三层文件夹')
检测文件夹存在:os.path.exists('新文件夹')
创建文件:file = open('new.txt' ,'w')
复制文件:shutil.copy('file1.txt', './新文件夹')
复制并重命名:shutil.copy('file1.txt', './新文件夹/new_file.txt')
复制文件夹:shutil.copytree(文件夹A,路径/文件夹A)
移动文件或文件夹:shutil.move('file1.txt','新文件夹/file3.txt')
移动文件或文件夹:shutil.move('file1.txt','新文件夹/')
移动文件或文件夹:shutil.move('新文件夹','新新文件夹/')
重命名文件或文件夹,也可以移动文件:os.rename(要重命名的文件/文件夹, 新的名字)

创建压缩包 / 压缩文件夹:shutil.make_archive("test_archive", "zip", "test_dir/")
删除文件:os.remove(要删除的文件);删除文件:os.unlink(要删除的文件)
删除空文件夹:os.rmdir(要删除的文件)
删除文件夹和里面的所有内容:shutil.rmtree(要删除的文件夹)
列出指定某个文件夹下的所有文件和文件夹:os.listdir('绝对/相对路径')
判断是目录:if os.path.isdir(path):
判断文件:if os.path.isfile(path):
os.path.isfile(文件名) #如果目录不存在就返回False
os.path.exists(文件名) #如果文件不存在就返回False
os.path.exists(文件夹名) #如果目录不存在就返回False
递归遍历所有子目录和子文件:os.walk()

关于路径中的斜杠(/)和反斜杠(\): windows使用反向斜杠\ , mac和linux使用斜杠 /。

shutil.copy 和 shutil.copy2 的区别:
shutil.copy() 只复制了文件的内容,而 shutil.copy2() 则尽可能保留了原始文件的元数据信息。
❱ 创建文件夹

import os
os.makedirs('新文件夹')


❱ 创建多层文件夹

import os
os.makedirs('第一层文件夹/第二层文件夹/第三层文件夹')


❱ 创建文件

import os
file = open('new.txt' ,'w')
file.close()


❱ 复制文件

import shutil
shutil.copy('file1.txt', './新文件夹')
shutil.copy('file1.txt', './新文件夹/new_file.txt') #把文件再重命名


❱ 复制文件夹

import shutil
shutil.copytree('mmdet', '../AE/mmdet')


❱ 移动文件或文件夹

import shutil
shutil.move('file1.txt','新文件夹/file3.txt')
shutil.move('file1.txt','新文件夹/')
shutil.move('新文件夹','新新文件夹/')


❱ 重命名文件或文件夹

import os
os.rename('新文件夹', 'hxx文件夹')
os.rename('file1.txt', 'new.txt')


❱ 创建压缩包 / 压缩文件夹

shutil.make_archive("test_archive", "zip", "test_dir/")


❱ 删除文件

import os
os.remove('file1.txt')


❱ 删除空文件夹

import os
os.rmdir('文件夹名')


❱ 删除文件夹和里面的所有内容

import shutil
shutil.rmtree('新新文件夹')


❱ 列出当前程序文件夹下的所有文件和文件夹

import os
#列出当前程序文件夹下的所有文件和文件夹
print(os.listdir())


#这3种写法都可以
print(os.listdir('D:\c'))
print(os.listdir('D:\\c'))
print(os.listdir('D:\\c\\'))


❱ 判断目录

if os.path.isdir(path):

❱ 判断文件

if os.path.isfile(path):


❱ 判断文件和文件夹是否存在

os.path.isfile(文件名) #如果目录不存在就返回False
os.path.exists(文件名) #如果文件不存在就返回False
os.path.exists(文件夹名) #如果目录不存在就返回False
import os
os.path.isfile('test.txt') #如果不存在就返回false
os.path.exists('新文件夹') #如果目录不存在就返回false


❱ 递归遍历所有子目录和子文件

os.walk()
返回一个3个元素的元组,(dirpath,dirnames,filenames).
dirpath:要列出指定目录的路径
dirnames:目录下的所有文件夹
filenames:目录下的所有文件
import os
for dirpath,dirname,filename in os.walk('data/'):
for dir in dirname:
print(dir)
for file in filename:
print(file)



https://blog.csdn.net/hxxjxw/article/details/104851275