python实现目录和文件管理

目录

一:模块介绍:

二:目录创建

三:目录删除

四:目录复制

五:目录移动

六:文件创建

七:文件删除

八:文件读取


一:模块介绍:

Python的os和shutil模块提供了许多与操作系统交互的功能,包括文件和目录的创建、删除、移动等。

os模块提供了一系列与操作系统交互的函数,例如读取环境变量、改变当前工作目录、执行系统命令等。其中,os.path模块包含了一些用于处理文件路径的函数,例如os.path.exists()和os.path.isdir(),可以用来检查文件或目录是否存在。

shutil模块提供了一些高级的文件和目录操作,例如复制、删除、移动等。其中,shutil.rmtree()函数可以用来删除一个目录及其下的所有文件和子目录。

二:目录创建

import os

import shutil

dir_path = "test/sub1" # 替换为你的目录路径

#这个首先检查目录是否存在,不存在创建目录

if os.path.isdir(dir_path):

print("目录存在")

else:

os.makedirs('test/sub1')

三:目录删除

try:

shutil.rmtree(dir_path)

print("目录已删除")

except OSError as e:

print("删除目录时出错: ", e.strerror)

四:目录复制

import shutil

def copy_dir(src, dst):

try:

shutil.copytree(src, dst)

print(f"Directory copied from {src} to {dst}")

except Exception as e:

print(f"Error occurred: {e}")

使用方法:copy_dir('源目录', '目标目录')

注意,shutil.copytree()函数会复制源目录及其所有子目录和文件到目标目录。如果目标目录已经存在同名文件或目录,那么会引发FileExistsError。如果你想在目标目录中覆盖同名文件或目录,你可以在调用copytree()时设置ignore或replace参数。

五:目录移动

import shutil

def copy_dir(src, dst):

try:

shutil.copytree(src, dst)

print(f"Directory copied from {src} to {dst}")

except Exception as e:

print(f"Error occurred: {e}")

使用方法:copy_dir('源目录', '目标目录')

shutil.move()函数会将源文件或目录移动到目标位置。如果目标位置已经存在同名文件或目录,那么会覆盖它。如果你想在移动时避免覆盖目标位置的同名文件或目录,你可以在调用move()时设置ignore_errors参数。

六:文件创建

file_path = "test/sub1/file.txt" # 替换为你的文件路径

#这个首先检查文件是否存在,不存在创建目录写入数据

if os.path.exists(file_path):

print("文件存在")

else:

with open(file_path, "w") as file:

file.write("Hello, World!")

七:文件删除

try:

os.remove(file_path)

print("文件已删除")

except OSError as e:

print("删除文件时出错: ", e.strerror)

八:文件读取

with open(file_path, 'r') as f:

lines = f.readlines()

for line in lines:

print(line)

相关推荐
Data_Journal7 分钟前
如何绕过 Cloudflare:网页抓取的最佳方法
网络·python
小坏讲微服务15 分钟前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
我命由我123451 小时前
智能助手通用问答边界
人工智能·python·学习·ai·学习方法·ai编程·智能体
Angeldream1231 小时前
第 4 章 医学影像预处理
图像处理·人工智能·python·医学影像·医学影像处理
Web3&Basketball1 小时前
实测Gemini4Argon:ERQA 87%登顶长程任务榜
数据库·python·大模型·多模态·gemini·长上下文·推理优化
把我格子衫拿来2 小时前
医学影像重采样:spacing 改了,为什么模型位置也跟着错了?
python·dicom·医学影像·simpleitk·重采样
打工仔折腾 AI2 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
wuyk5552 小时前
PyQt6-第05讲-QtDesigner工作流与ui文件
python·ui·pyqt
MATLAB代码顾问2 小时前
Simulink PI 参数扫描与批量仿真完整 MATLAB 代码
开发语言·matlab
Want5952 小时前
Python跳动的爱心②
开发语言·python·数学建模