首页 > 编程语言 >使用 Python 组织文件

使用 Python 组织文件

时间:2022-11-25 14:07:01浏览次数:40  
标签:文件 Python 组织 dst py python 文件夹 shutil

    在 Python 中, shutil 模块还提供了一系列对文件和文件集合的高级操作。特别是提供了一些支持文件拷贝和删除的函数。下面介绍一些组织文件常用操作。



复制文件


    使用 shutil.copy(src, dst) 可以把 src 路径下的指定文件复制到 dst 路径下,如果 dst 为路径,则复制后的文件名和原文件一致。如果 dst 为路径加上文件名,则复制后的文件名为当前指定的文件名。最后该函数会返回文件的路径字符串。

    注意:即便是高级文件拷贝函数也无法拷贝所有的文件元数据。例如在 Windows 操作系统上,不会拷贝文件所有者、ACL 和替代数据流。

    下面的例子演示了如何将当前用户下的 python.py 文件拷贝到 D 盘并更改其文件名为 p1.py 。

>>> import shutil
>>> shutil.copy('C:\\Users\\Caizi\\python.py', 'D:\\p1.py')
'D:\\p1.py'



复制整个文件夹及其

包含的文件和文件夹


    使用 shutil.copytree(src, dst) 可以将 src 路径的整个文件夹及其包含的文件和文件夹复制到新指定的 dst 路径下。该函数会返回 dst 的文件夹的路径字符串。下面的例子演示了如何将 python 文件夹里的所有内容复制到 D:\python_backup 目录下。

>>> import shutil
>>> shutil.copytree('C:\\Users\\Caizi\\python', 'D:\\python_backup')
'D:\\python_backup'



移动文件和文件夹


    使用 shutil.move(src, dst) 可以将 src 路径的文件夹移动到 dst 路径下,返回移动文件夹的新绝对路径字符串。

    注意:使用此方法如果新路径下有文件与要移入的文件重名,会自动替换文件,删除旧文件,保留新移入的文件。

>>> import shutil
>>> shutil.move('C:\\Users\\Caizi\\python', 'D:\\python_backup')
'D:\\python_backup'



文件重命名


    使用 shutil.move(src, dst) 还可以将文件重命名。下面的例子演示了如何把当前目录下的 python.py 文件重命名为 day.py 。

    注意:第二个参数为文件名,文件有扩展名的一定要加扩展名。如果只指定了 day ,最后的文件名就为 day ,而不是你想象中的 day.py 。

>>> import shutil
>>> shutil.move('C:\\Users\\Caizi\\python.py', 'C:\\Users\\Caizi\\day.py')
'C:\\Users\\Caizi\\day.py'



永久删除文件


    使用 os.unlink(path) 或者 os.remove(path) 可以将指定路径下的文件永久删除。

>>> import os
>>> os.unlink('C:\\Users\\Caizi\\python.py')



永久删除文件夹


    使用 os.rmdir(path) 可以将指定路径下的文件夹永久删除。

    注意:使用此方法删除的文件夹必须为空文件夹。

>>> import os
>>> os.rmdir('D:\\python')



永久删除文件夹及其

包含的文件和文件夹


    使用 shutil.rmtree(path) 可以将指定路径下的文件夹及其包含的文件和文件夹永久删除。

>>> import shutil
>>> shutil.rmtree('D:\\python')



遍历目录树


   使用 os.walk(path) 可以将遍历目录树。下面的例子演示了遍历 D:\python 目录的结果。

目录树结构
D:\

├─ python

├─ day01
│ ├─ day01-1.py
│ └─ day01-2.py
├─ day02
│ ├─ day02-1.py
│ ├─ day02-2.py
│ └─ day02-3.py
└─ python.py
import os


if __name__ == '__main__':
for folder, subfolders, file in os.walk('D:\\python'):
print('Current folder is ' + folder)


for subfolder in subfolders:
print('Subfolder of ' + folder + ' is ' + subfolder)


for filename in file:
print(filename + ' in ' + folder)


print('')

结果输出如下

Current folder is D:\python
Subfolder of D:\python is day01
Subfolder of D:\python is day02
python.py in D:\python

Current folder is D:\python\day01
day01-1.py in D:\python\day01
day01-2.py in D:\python\day01

Current folder is D:\python\day02
day02-1.py in D:\python\day02
day02-2.py in D:\python\day02
day02-3.py in D:\python\day02



标签:文件,Python,组织,dst,py,python,文件夹,shutil
From: https://blog.51cto.com/u_15891283/5886620

相关文章

  • Python入门(9)——函数
    函数是带名字的代码块,用于完成特定的任务,当在程序中多次执行同一任务时,无需反复编写重复的代码块,只需调用执行该任务的函数即可。函数的声明    在Python中使用 def ......
  • Python入门(10)——类
    在Python中,一切都是对象,对象是类的实例,类是对象的蓝图和模板。类是一个抽象的概念,对象是一个类具体的实例。每个对象都有属性和行为,它们都是独一无二的,而且对象一定属于某个......
  • Python入门(8)——集合
    集合的创建    集合是由不重复元素组成的无序容器。创建集合用 {} 大括号或 set() 函数。注意,创建空集合只能用 set() ,不能用 {} , {} 创建的是空字典。......
  • 最全的Python海龟绘图总结
    在Python中使用海龟绘图,需要导入相应的模块,那么什么是模块呢?逻辑上来说模块就是一组功能的组合;实质上一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上......
  • Python入门(7)——元组与字典
    元组元组的定义    不可修改的列表称为元组。元组定义与列表定义的区别在于列表使用 [] 标识,而元组使用 () 标识。严格地说,元组是由逗号 , 标识的,圆括号只是让......
  • Python入门(5)——分支与循环
    使用功能更强大的IDEPyCharm是一款功能强大的Python编辑器,具有跨平台性。学习分支语句及循环语句,为了我们调试方便,我们后期选择使用PyCharm,PyCharm可以直接到官网下载......
  • Python入门(6)——列表
    列表的定义列表是由一系列按特定顺序排列的元素组成。列表可以包含不同类型的元素。列表内元素的值可以重复。列表通常用单词名称的复数表示。列表用方括号 [] 表示,元素......
  • Python入门(3)——基本数据类型及运算符
    常见的几种基本数据类型python是弱类型语言,相对于强类型语言,它不需要声明变量的类型。在Python中一切都是对象。可以使用id()函数查看此对象的id。Python中的数据类型很多,而......
  • Python入门(4)——最全的字符串操作
    修改字符串大小写title():把字符串中每个单词首字母改为大写。upper():把字符串中所有字符改为大写。lower():把字符串中所有字符改为小写。>>>'theintroductiontopython'.......
  • 使用Gitee时,没有.ssh文件
    1.首先在C:\Users里打开自己电脑的管理文件夹2.打开后,右键点击Gitbash,输入以下命令行mkdir~/.ssh//回车ssh-keygen-trsa-C"邮箱"//回车,即可在生成的。ssh文件中找......