我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python实现文件及文件夹操作大全

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python实现文件及文件夹操作大全

在日常工作或生活中,总避免不了需要操作文件或文件夹,比如希望找出电脑中所有临时文件并清除,或者找到指定文件夹内所有图片文件并进行重新命名等等,如果能通过Python脚本的方式解决,会大大提升相关操作效率,本文即总结使用Python进行常见操作相关知识点,方便用到的人随时查阅,不用再每次使用都要花费时间检索或查阅文档。本文主要使用os、shutil、pathlib三个包。

一、文件操作

1.1 文件常规操作

操作代码说明/示例
新建文件os.mknod(dir_str)传入需创建文件的路径,但是需要修改权限才行
os.system(' touch test.txt')使用命令行创建,简单方便
移动文件shutil.move(class="lazy" data-src_str,dst_str)传入源路径和目标路径,可移动文件及文件夹,移动文件夹时是递归移动,返回相较于工作目录的相对最终路径
复制文件shutil.copyfile(class="lazy" data-src_str,dst_str)传入源文件和需复制到路径,均需是文件,返回相较于工作目录的相对最终路径
shutil.copy(class="lazy" data-src_str,dst_str)传入源文件和需复制到路径,dst如果是文件则复制+重命名,如果是目录,则直接复制,但均不复制文件元信息
shutil.copy2(class="lazy" data-src_str,dst_str)相较于copy,会将文件元信息也复制,包括创建、修改时间等
重命名os.rename(old_str,new_str)对文件或文件夹重命名
删除文件os.remove(file_str)删除指定文件,可以传入相较于工作目录的相对路径

1.2 文件读写

文件读写建议使用Python的标准file操作,具体本文不作展开

with open(filename_str,mode_str) as f:
    f.readline()
    f.write(content)

1.3 文件相关属性访问

操作代码说明/示例
获取文件或文件夹属性os.stat(dir_str)

获取文件或文件夹相关属性

可返回文件的模式、所属用户ID、大小、上次访问时间、最后修改时间、创建时间等信息

具体见: Python os.stat() 方法 | 菜鸟教程

二、文件夹操作

2.1 文件夹常规操作

操作代码说明/示例
新建文件夹os.mkdir(dir_str)创建单个文件夹,如果文件夹已存在会报错
os.mkdirs(dir_str)递归创建文件夹,即可一次性创建多层文件夹

from pathlib import Path

p=Path(dir_str)

p.mkdir(exist_ok=True)

使用pathlib,可以创建单个或递归创建文件夹,且如果存在也可忽略报错
移动文件夹shutil.move(class="lazy" data-src_str,dst_str)可移动文件或文件夹
复制文件夹shutil.copytree(class="lazy" data-src_str,dst_str)递归的将指定文件夹复制到目标文件夹内,一般用作备份文件夹
删除文件夹os.rmdir(dir_str)删除指定文件夹,只能删除单层文件夹,且不为空
os.removedirs(dir_str)递归删除指定文件夹,但只会删除非空文件夹

from pathlib import Path

p=Path(dir_str)

p.rmdir()

与os.rmdir作用相同
shutil.rmtree(dir_str)递归删除指定文件夹及子文件夹,不为空也行,相对比较危险

2.2 遍历文件夹

操作代码说明/示例
单层遍历os.listdir(dir_str)返回列表,列表内为该文件夹内的所有文件及文件夹名称
os.scandir(dir_str)返回对指定文件单层遍历的迭代器,可遍历该迭代器,可获取文件或文件夹名称、属性信息
递归遍历os.walk(dir_str)递归遍历指定文件夹,包括子文件夹
import os
dir_str='~/downloads/'
 
#使用listdir
dir_list=listdir(dir_str)
for file in dir_list:
    if os.path.isfile(os.path.join(os.getcwd(),file):
        print('是一个文件')
 
 
#使用scandir
for file in os.scandir(dir_str):
    print(file.name) #打印文件名称
    print(file.stat) #打印文件属性
#使用os.walk()递归遍历
#walk函数会返回当前遍历文件夹根目录,该目录下所有文件夹组成的列表以及该目录下所有文件组成的列表
dir_str='~/downloads/'
dir_iter=os.walk(dir_str)
 
for root_dir,dirs,files in dir_iter:
    for file in files:
        print(file)

2.3 文件夹相关属性访问

见1.3

三、其他相关操作

3.1 工作目录操作

操作代码说明/示例
查询当前工作目录os.getcwd()返回当前的工作目录,即当前执行命令时所在工作目录
修改当前工作目录os.chdir(dir_str)修改当前工作目录,只是临时修改

3.2 文件&文件夹其他操作

操作代码说明/示例
压缩文件/文件夹shutil.make_archive(file_str,format,class="lazy" data-src_dir)将class="lazy" data-src_dir按照format指定的格式压缩为file_str文件
解压压缩文件shutil.unpack_archive(filename, extract_dir=None, format=None)将filename解压到extract_dir
变更权限

os.chmod(dir_str,mode_int)

os.chmod('aa.txt',777)

将dir_str的权限模式修改为mode_int
import shutil
shutil.make_archive('aaa','zip','/users/aaa/downloads/常用脚本')
#以上会将常用脚本文件夹内所有内容压缩为aaa.zip,并存到当前工作目录下
#如果同时希望指定压缩文件的存储位置,则
shutil.make_archive('/users/aaa/test/aaa.zip','zip','/users/aaa/downloads/常用脚本')
import shutil
shutil.unpack_archive('aaa.zip','/users/yanweichao/downloads/bbb')
#或想当前文件内的aaa.zip文件解压到bbb文件夹内,如果bbb文件夹不存在,会自动创建

 到此这篇关于Python实现文件及文件夹操作大全的文章就介绍到这了,更多相关Python 文件及文件夹操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python实现文件及文件夹操作大全

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python如何实现文件夹操作

本文小编为大家详细介绍“Python如何实现文件夹操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现文件夹操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、文件操作1.1 文件常规操作操
2023-06-30

python 移动文件或文件夹操作

目录:1、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法2、文件操作方法大全3、目录操作方法大全————————————————————————————–1、python中对文件、文件夹操作时经常用到的os模
2023-01-31

python之文件的读写和文件目录以及文件夹的操作实现代码

为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取:file_object = open('thefile.txt') try: all_th
2022-06-04

Windows 8技巧:windows 8文件 文件夹管理[文件以及文件夹操作]

在本文中我们将学习win 8中的文件以及文件夹的各种操作。在本文中文件操作主要是讲述:删除文件/移动文件/复制文件/重命名文件文件夹操作分为:读取文件夹/创建文件夹/删除文件夹/重命名文件夹首先贴出所有的Xaml代码文件部分:复制代码代码如
2022-06-04

Python文件(夹)基本操作

1、判断文件(夹)是否存在。os.path.exists(pathname)2、判断路径名是否为文件。os.path.isfile(pathname)3、判断路径名是否为目录。os.path.isdir(pathname)4、创建文件。os
2023-01-31

JAVA中文件操作大全

一.获得控制台用户输入的信息 public String getInputMessage() t
2023-06-03

Python实现遍历包含大量文件的文件夹

在处理大模型的训练数据时,经常需要遍历大型文件夹,其中,可能包括数千万或数亿个文件,所以本文为大家整理了Python遍历包含大量文件的文件夹的方法,希望对大家有所帮助
2023-05-15

怎么利用python实现windows的批处理及文件夹操作

今天就跟大家聊聊有关怎么利用python实现windows的批处理及文件夹操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.批量处理所谓的批处理就是批量处理cmd里面的命令。py
2023-06-22

Python文件夹与文件的相关操作(推荐)

最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动。 有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块, 导入的方法是: import os
2022-06-04

Python文件与文件夹常见基本操作总结

本文实例讲述了Python文件与文件夹常见基本操作。分享给大家供大家参考,具体如下: 1、判断文件(夹)是否存在。os.path.exists(pathname)2、判断路径名是否为文件。os.path.isfile(pathname)3、
2022-06-04

Python怎么实现遍历包含大量文件的文件夹

本篇内容主要讲解“Python怎么实现遍历包含大量文件的文件夹”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现遍历包含大量文件的文件夹”吧!在处理大模型的训练数据时,经常需要遍
2023-07-06

Python操作CSV格式文件的方法大全

目录(一)CSV格式文件(二)CSV库操作csv格式文本(三)pandas库操作CSV文件总结(一)CSV格式文件 1.说明CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储数据
2022-06-02

python 文件操作api(文件操作函数)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来
2022-06-04

Python3 文件(夹)基本操作

相关模块osos.pathshutilpathlib(New in version 3.4)基本操作判断文件(夹)是否存在。os.path.exists(pathname)# newpathlib.Path(pathname).exists
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录