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

这可能是最详细的Python文件操作

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

这可能是最详细的Python文件操作

删除

# ==================删除==================
# 只能删除文件,若为目录则报错
# 若文件正在使用,Windows下会直接报错,Linux下会在目录表中删除记录,但文件还在
# 与os.unlink()一样的作用
os.remove(r"C:\Users\Microsoft\Desktop\111.exe")

# 删除目录,目录必须为空,否则报错OSError
os.rmdir(r"C:\Users\Microsoft\Desktop\aaa")
# 递归删除空目录
os.removedirs(r"C:\Users\Microsoft\Desktop\1\2\3")
# 删除整个目录(不管此目录下有多少目录和文件)
shutil.rmtree(r"C:\Users\Microsoft\Desktop\aaa")
# ======================================

新建

# ==================新建==================
# 新建文件夹,若倒数第二层文件夹不存在则会报错
os.mkdir(r"/home/python")
# 递归新建目录,若文件夹存在则报错
os.makedirs(r"C:\Users\Microsoft\Desktop\aaa\666\777")
# ======================================

复制

# ==================复制==================
# 复制文件,不能复制文件夹
shutil.copyfile(r"D:\python\py1\1.txt", r"D:\python\py2\1.txt")
# 复制文件,与copyfile不同的是,第二个可以参数可以使用文件夹路径
shutil.copy(r"D:\python\py1\1.txt", r"D:\python\py2")
# shutil.copy只复制文件内容,copy2还复制了创建时间、修改时间等信息,
shutil.copy2(r"D:\python\py1\1.txt", r"D:\python\py2")
# 复制整个文件夹,若目标目录已存在,则会报错
shutil.copytree(r"D:\python\py1", r"D:\python\py3\py1")
# ======================================

移动

# ==================移动====================
# 移动文件或文件夹,可使用目录树形式
shutil.move(r"D:\python\py1", r"D:\python\py3\py2")
# ========================================

重命名

# ==================重命名==================
# 重命名文件或目录,但不能这样:rename("/aaa/a.txt","/bbb/a.txt"),也不能同时重命名目录和文件
os.rename(r"C:\Users\Microsoft\Desktop\aaa\5",r"C:\Users\Microsoft\Desktop\bbb\6")
# 重命名目录或文件
# 若同时重命名路径和文件,则会新建路径并将文件重命名后移动到新目录
# 如:os.renames("/aaa/b.txt","/bbb/c.txt"),则会在aaa同级目录新建bbb目录,并将b.txt重命名为c.txt后移动到bbb目录
os.renames(r"C:\Users\Microsoft\Desktop\aaa\6",r"C:\Users\Microsoft\Desktop\aaa\123")
# =======================================

路径相关

# ==================路径相关==================
# 获取文件的完整路径
os.path.abspath(r"script.py")
# 获取完整路径中的文件名,以下返回script.py,等价于os.path.split(path)[1]
os.path.basename(r"/home/python/script.py")
# 获取文件的绝对路径,参数也必须是全路径,另:即使文件不存在也会正常返回,等价于os.path.split(path)[0]
os.path.dirname(r"/home/python/script.py")
# 获取文件的文件名和扩展名,以下返回:('script', '.py')
os.path.splitext(r"script.py")
# 获取脚本运行目录
os.getcwd()
# 获取目录下文件列表,参数为空则为脚本运行目录,返回格式:['1.py','2.py']
os.listdir(r"/home/python")
# 判断文件或路径是否存在
os.path.exists(r"/home/python")
# 判断目标是文件还是路径
os.path.isdir(r"/home/python")
os.path.isfile(r"/home/python")
# =========================================

遍历目录

两种方式:

  1. os.walk()
  2. os.listdir() 递归

os.walk

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

参数1:要遍历的目录

参数2:默认True为广度遍历,False为深度遍历

参数3:可空,callable 对象,当 walk 异常时,会调用

参数4:可空,如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)

import os 

list_dirs = os.walk(rootDir) 
for root, dirs, files in list_dirs:
    # root 所指的是当前正在遍历的这个文件夹的本身的地址
    # dirs 是一个list,内容是该文件夹中所有的目录的名字(不包括子目录)
    # files 同样是list , 内容是该文件夹中所有的文件(不包括子目录)
    print("======")
    for d in dirs:
        # 只输出遍历文件夹名
        print(os.path.join(root, d))
    for f in files:
        # 只输出遍历的文件名
        print(os.path.join(root, f))

os.listdir递归

os.listdir(path)

参数1:目录

返回path目录下的文件夹名和文件名,并按字母顺序排列

def Recursion(rootDir):
    for lists in os.listdir(rootDir):
        path = os.path.join(rootDir, lists)
        # 输出文件名或文件夹名
        print(path)
        # 判断是否为文件夹,如果是,则递归遍历
        # 如果不是则为文件,可执行具体逻辑
        if os.path.isdir(path):
            Recursion(path)
        else:
            pass

我的博客:花墨世界

公众号:花墨世界

免责声明:

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

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

这可能是最详细的Python文件操作

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

下载Word文档

猜你喜欢

这可能是最详细的Python文件操作

删除# ==================删除==================# 只能删除文件,若为目录则报错# 若文件正在使用,Windows下会直接报错,Linux下会在目录表中删除记录,但文件还在# 与os.unlink()一样
2023-01-30

python可视化hdf5文件的操作

对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法 1 安装vitables工具包 命令 pip install vitables 2 安装完成后在终端中使
2022-06-02

详解Python中的文件操作

1.能调用方法的一定是对象,比如数值、字符串、列表、元组、字典,甚至文件也是对象,Python中一切皆为对象。str1 = 'hello'str2 = 'world'str3 = ' '.join([str1,str2])print(str
2022-06-04

Python 3.x可能是史上最详解的【

如需转载请注明出处。 win10+Python 3.6.3一旦使用多层文件架构就很容易遇上import的坑!哈哈。一、理解一些基本概念1、模块、包 模块 module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型
2023-01-31

Python中的文件读写模式和文件操作的最佳实践和性能优化是什么?

Python中的文件读写模式和文件操作的最佳实践和性能优化是什么?在Python中,文件是一种非常常见的数据存储和交换方式。因此,了解文件读写模式以及文件操作的最佳实践和性能优化是非常重要的。文件读写模式:在Python中,open()函数
2023-10-25

这可能是把Docker概念讲的最清楚的一篇文章

Docker 是世界领先的软件容器平台,所以想要搞懂 Docker 的概念我们必须先从容器开始说起。本文只是对 Docker 的概念做了较为详细的介绍,并不涉及一些像 Docker 环境的安装以及 Docker 的一些常见操作和命令。先从认
2023-06-04

学习python的第十二天(文件的详细操

一.文件打开常用的三总方式1.文件打开r模式只读不能写with open('a.txet','r',encoding='gbk') as a: # 文件路径 文件打开方式 解码方式 变量名 print(
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动态编译

目录