目录
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)