百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python目录与文件操作教程(python word目录)

off999 2025-05-11 00:14 28 浏览 0 评论

大家好,我是ICodeWR。今天要记录的是 如何使用Python进行常见的目录和文件操作。


Python提供了强大的内置模块来处理文件和目录操作。

1. 基本模块介绍

Python中主要使用以下模块进行文件和目录操作:

import os
import os.path
import shutil
import glob

2. 目录操作

2.1 获取当前工作目录

current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")

2.2 改变工作目录

os.chdir('/path/to/new/directory')

2.3 列出目录内容

# 列出当前目录所有文件和子目录
contents = os.listdir()
print(contents)

# 使用glob模块匹配特定模式的文件
txt_files = glob.glob('*.txt')
print(txt_files)

2.4 创建目录

# 创建单个目录
os.mkdir('new_directory')

# 创建多级目录
os.makedirs('path/to/new/directory')

2.5 删除目录

# 删除空目录
os.rmdir('empty_directory')

# 删除目录及其所有内容(慎用!)
shutil.rmtree('directory_to_remove')

2.6 检查路径是否存在

if os.path.exists('/path/to/check'):
    print("路径存在")
else:
    print("路径不存在")

2.7 检查是否为目录或文件

path = '/path/to/check'

if os.path.isdir(path):
    print("这是一个目录")
elif os.path.isfile(path):
    print("这是一个文件")
else:
    print("既不是文件也不是目录")

3. 文件操作

3.1 文件路径操作

# 获取绝对路径
abs_path = os.path.abspath('file.txt')

# 获取路径的目录名和文件名
dirname = os.path.dirname('/path/to/file.txt')
basename = os.path.basename('/path/to/file.txt')

# 拼接路径
full_path = os.path.join('folder', 'subfolder', 'file.txt')

3.2 文件属性

# 获取文件大小(字节)
size = os.path.getsize('file.txt')

# 获取文件最后修改时间(时间戳)
mtime = os.path.getmtime('file.txt')

# 转换为可读时间
from datetime import datetime
print(datetime.fromtimestamp(mtime))

3.3 文件操作

创建文件

# 使用open函数创建文件
with open('new_file.txt', 'w') as f:
    pass  # 创建空文件

复制文件

# 使用shutil模块
shutil.copy2('source.txt', 'destination.txt')  # 保留元数据
shutil.copy('source.txt', 'destination.txt')   # 不保留元数据

移动/重命名文件

# 重命名文件
os.rename('old_name.txt', 'new_name.txt')

# 移动文件
shutil.move('source.txt', '/path/to/destination/source.txt')

删除文件

os.remove('file_to_delete.txt')

3.4 遍历目录树

# 使用os.walk()遍历目录树
for root, dirs, files in os.walk('/path/to/start'):
    print(f"当前目录: {root}")
    print(f"子目录: {dirs}")
    print(f"文件: {files}")
    print("-" * 40)

4. 高级操作

4.1 临时文件和目录

import tempfile

# 创建临时文件
with tempfile.NamedTemporaryFile(delete=False) as tmp:
    print(f"临时文件路径: {tmp.name}")
    tmp.write(b"Some data")

# 创建临时目录
temp_dir = tempfile.mkdtemp()
print(f"临时目录: {temp_dir}")

# 记得清理临时文件/目录
os.unlink(tmp.name)
shutil.rmtree(temp_dir)

4.2 文件权限

# 修改文件权限 (类似chmod)
os.chmod('file.txt', 0o755)  # 八进制表示法

# 获取文件权限
import stat
mode = os.stat('file.txt').st_mode
print(stat.filemode(mode))  # 输出类似 '-rwxr-xr-x'

4.3 符号链接

# 创建符号链接
os.symlink('target_file', 'link_name')

# 检查是否为符号链接
os.path.islink('link_name')

# 获取符号链接指向的实际路径
real_path = os.path.realpath('link_name')

5. 路径处理最佳实践

建议使用pathlib模块(Python 3.4+)进行更面向对象的路径操作:

from pathlib import Path

# 创建Path对象
p = Path('/path/to/file.txt')

# 常用操作
print(p.parent)  # 获取父目录
print(p.name)    # 获取文件名
print(p.suffix)  # 获取文件扩展名

# 检查路径
print(p.exists())
print(p.is_file())
print(p.is_dir())

# 文件操作
p.touch()  # 创建空文件
p.unlink()  # 删除文件

# 目录操作
new_dir = Path('new_directory')
new_dir.mkdir(exist_ok=True)  # 创建目录,如果已存在不报错

# 遍历目录
for item in Path('.').glob('*.txt'):
    print(item)

6. 安全注意事项

  1. 在执行删除操作前始终检查路径是否存在
  2. 处理用户提供的路径时要小心,防止路径遍历攻击
  3. 考虑使用os.path.abspath()规范化路径
  4. 在多平台应用中,使用os.path.join()或pathlib处理路径分隔符

7. 总结

Python提供了全面的文件和目录操作功能,从基本的创建、删除到高级的遍历和权限管理。对于新项目,推荐使用pathlib模块,它提供了更直观的面向对象接口。对于需要兼容旧版本Python的代码,可以继续使用os和os.path模块。

记住在处理文件和目录时要格外小心,特别是在执行删除或修改操作时,因为这些操作通常是不可逆的。


将陆续更新 Python 编程相关的学习资料!

作者:ICodeWR

标签:#编程# #python# #在头条记录我的2025# #春日生活打卡季#


相关推荐

163邮箱电脑版(163电子邮箱)

163邮箱在电脑端的登入网址是mail.163.com。163邮箱作为国内排名靠前的邮箱,为大家提供邮箱服务,除了免费个人邮箱个人vip邮箱外,还提供企业邮箱的服务。163邮箱可以在outlookf...

win7 重置(win7重置系统)
  • win7 重置(win7重置系统)
  • win7 重置(win7重置系统)
  • win7 重置(win7重置系统)
  • win7 重置(win7重置系统)
国内外十大免费crm软件推荐(免费版crm)

悟空CRM9.0完全开源免费,采用前后端分离模式,前端框架vue后端框架PHP/JAVA多框架语言。ZohoCRM有免费版,限3用户免费,它还配有免费的手机app,很方便。你可以到这个地址查看一...

电脑显示屏(电脑显示屏图片)

1、LCD显示器LCD显示器即液晶显示屏,优点是机身薄,占地小,辐射小,给人以一种健康产品的形象。我看不尽是,使用液晶显示屏不一定可以保护到眼睛,这需要看各人使用计算机的习惯。2、等离子显示器等离子显...

把文件删了怎么恢复(文件删除之后如何恢复)

首先我们需要通过浏览器搜索互盾数据恢复软件,将这款软件下载到我们的电脑上1、下载好后运行互盾数据恢复软件,软件界面有六大功能,因为我们需要对回收站清空的数据进行恢复,所以点击界面的“误清空回收站”即...

360路由器怎么设置密码(360路由器怎么设置密码192.168.0.1)

360路由器p1的具体步骤:1、首先按照说明书进行常规连接路由器,然后我们打开浏览器,地址栏输入luyou.360.cn或192.168.0.1回车。2、立即开启,就会看见下一个设置界面,路由器管理员...

电脑特别卡反应特别慢怎么办

网速能快多少?很多朋友发现家里的网速明明是百兆光纤,但网速总是提不上来,其实影响这的原因很多,但有一点或许是很多人都不知道的,那就是因为我们的系统为了适应不同配置的电脑,需要保留一定的宽带来减轻网络给...

cpu使用率过高(cpu使用率过高怎么解决 换配置)

关闭不必要的程序和服务:找出并关闭后台运行的、不必要的程序,注意可能的开机自启动程序影响。结束后台进程:通过任务管理器或系统监视器来结束不必要的后台进程,特别注意那些占用大量CPU资源的进程。检查...

智能abc输入法电脑版(智能abc输入法免费下载)

要安装智能ABC输入法,首先需要在笔记本上打开浏览器,然后在搜索栏中输入“智能ABC输入法下载”,找到官方网站或者可信赖的第三方网站,点击下载并安装该输入法软件。安装完成后,在输入法设置中选择启用智能...

如何给电脑设置密码开机密码

1、点击左下角开始,选择控制面板!(有的可以右击我的电脑)2、然后在选择用户账户3、一般没有设置密码的需要设置administrative的管理员密码!也可以创建新的账户4、然后在选择创建密码5、然后...

系统盘制作u盘要多大(制作系统u盘要多少g)

u盘制作启动盘,8g空间足够了。随着WINDOWS系统的不断完善,操作系统本身文件也越来越大,因为操作系统集成了更多的设备驱动和补丁,但是就WINDOWS10系统来说,有8g的空间足够把U盘做成启动...

网吧电脑怎么关闭防火墙(网吧如何关掉防火墙)

1、首先,我们点击电脑桌面左下角的微软按钮,弹出的界面,我们找到windows系统,点击打开它,弹出的界面,我们点击控制面板;2、弹出的界面,我们点击WindowsDefender防火墙;3、之后我...

win7安装需要标准nvm(安装win7要求)

1、把操作系统的安装镜像用WINRAR软件全部解压。2、找一个U盘,不小于8GB,格式化为FAT32格式,把上一步解压的文件复制到U盘中。3、重启电脑,按F12,选择电脑当前从U盘启动,进可以进入安装...

win10不兼容32位软件(win10系统不兼容软件)

使用电脑管家更新下驱动就可以了。1、打开腾讯电脑管家,点击“工具箱”。2、在工具箱里找到“硬件检测”。3、在硬件检测里点击“驱动安装”。4、可以看到“安装状态”,如果是未安装可以直接点击安装。首先你...

win7的屏保设置在哪里(win7 如何设置屏保)

要设置屏保,按照以下步骤进行操作:1.点击桌面上空白处右键,选择“个性化”。2.在个性化窗口中,点击左侧菜单栏中的“屏幕保护程序”选项。3.在“屏幕保护程序”窗口中,可以选择系统提供的屏保样式。...

取消回复欢迎 发表评论: