【13.3 python中的高级文件操作】

python中的高级文件操作


在Python中,除了基本的文件读写和目录操作外,还有一些高级的文件和目录操作,如删除文件、重命名文件和目录、以及获取文件的基本信息等。这些操作通常通过os模块和pathlib模块来实现。下面我将详细介绍这些操作,并给出相应的示例。

删除文件

  • 使用os模块os.remove(path)函数用于删除文件。如果文件不存在,将引发FileNotFoundError异常。
  • 使用pathlib模块Path.unlink()方法也可以用来删除文件,其工作方式类似于os.remove()

示例

import os
from pathlib import Path

# 使用os模块删除文件
file_path = 'example.txt'
if os.path.exists(file_path):
    os.remove(file_path)
    print(f"{file_path} 已删除")
else:
    print(f"{file_path} 不存在")

# 使用pathlib模块删除文件
file_path_pathlib = Path('example.txt')
if file_path_pathlib.exists():
    file_path_pathlib.unlink()
    print(f"{file_path_pathlib} 已删除")
else:
    print(f"{file_path_pathlib} 不存在")

重命名文件和目录

  • 使用os模块os.rename(src, dst)函数用于重命名文件或目录。如果目标路径已存在,它将被覆盖。
  • 使用pathlib模块Path.rename(target)方法也可以用来重命名文件或目录,其中target是新的路径。

示例

import os
from pathlib import Path

# 使用os模块重命名文件
old_file_path = 'old_example.txt'
new_file_path = 'new_example.txt'
if os.path.exists(old_file_path):
    os.rename(old_file_path, new_file_path)
    print(f"{old_file_path} 已重命名为 {new_file_path}")
else:
    print(f"{old_file_path} 不存在")

# 使用pathlib模块重命名文件
old_file_path_pathlib = Path('old_example.txt')
new_file_path_pathlib = Path('another_example.txt')
if old_file_path_pathlib.exists():
    old_file_path_pathlib.rename(new_file_path_pathlib)
    print(f"{old_file_path_pathlib} 已重命名为 {new_file_path_pathlib}")
else:
    print(f"{old_file_path_pathlib} 不存在")

# 重命名目录(与重命名文件相同)
old_dir_path = 'old_dir'
new_dir_path = 'new_dir'
if os.path.exists(old_dir_path):
    os.rename(old_dir_path, new_dir_path)
    print(f"{old_dir_path} 已重命名为 {new_dir_path}")
else:
    print(f"{old_dir_path} 不存在")

获取文件的基本信息

获取文件的基本信息通常涉及文件的元数据,如大小、修改时间等。这些可以通过os.path模块和os.stat()函数或pathlib.Path对象的stat()方法来实现。

示例

import os
from pathlib import Path
from datetime import datetime

# 使用os模块获取文件信息
file_path = 'example.txt'
if os.path.exists(file_path):
    file_stat = os.stat(file_path)
    print(f"文件大小: {file_stat.st_size} 字节")
    print(f"最后修改时间: {datetime.fromtimestamp(file_stat.st_mtime)}")
else:
    print(f"{file_path} 不存在")

# 使用pathlib模块获取文件信息
file_path_pathlib = Path('example.txt')
if file_path_pathlib.exists():
    file_stat = file_path_pathlib.stat()
    print(f"文件大小: {file_stat.st_size} 字节")
    print(f"最后修改时间: {datetime.fromtimestamp
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值