Python os与shutil模块基础操作详解

0 下载量 73 浏览量 更新于2024-08-31 收藏 68KB PDF 举报
在Python编程中,os和shutil是两个非常重要的内置模块,它们提供了大量的操作系统相关功能,使得开发者能够方便地处理文件、目录以及系统操作。本文将详细介绍这两个模块在Python中的常规操作,旨在帮助读者更好地理解和运用这些功能。 首先,我们来看看os模块。os模块主要用于处理与操作系统交互的低级操作,如文件和目录的创建、删除、重命名、路径操作等。以下是os模块中几个常用的功能: 1. `os.listdir(path)`:这是一个非常基础但实用的方法,用于获取指定路径下的文件和子目录名称。它返回的是一个列表,按字母顺序排列,但不包含"."(当前目录)和".."(父目录)。例如,代码中的`os.listdir(path)`会列出"C:\Users\Administrator.SKY-20180518VHY\Desktop\rx\ore"路径下的所有文件和子目录。 2. `os.path.abspath(path)`:此函数用于返回给定路径的规范化绝对路径。这有助于确保无论用户从何处运行脚本,都能得到一致的结果。如例子所示,`os.path.abspath('1.docx')`返回的是完整的绝对路径"C:\Users\Administrator.SKY-20180518VHY\Desktop\t\1.docx",而`os.path.abspath('../csv\\test.csv')`返回的是上一级目录的csv文件夹。 3. `os.path.split(path)`:此函数将路径分解为目录名和文件名的元组。如`os.path.split(r'C:\Users\Administrator.SKY-20180518VHY\Desktop\t\1.docx')`返回('C:\\Users\\Administrator.SKY-20180518VHY\\Desktop\\t', '1.docx'),第一个元素是目录路径,第二个元素是文件名。 4. `os.path.dirname(path)`:该函数专门用于获取路径中的目录部分,即不包含文件名的路径。例如,`os.path.dirname('c:\\csv\test.csv')`返回的是'c:\\',而`os.path.dirname('c:\\csv')`表示路径的根目录'c:\\'。 接下来是shutil模块,它提供了高级的文件和目录操作,比如复制、移动、删除文件或目录,以及打包和解压文件。相比于os模块,shutil更注重处理整个文件或目录结构。 shutil模块的主要功能包括: - `shutil.copy(src, dst)`:用于复制文件或目录,如果dst不存在,会被自动创建。 - `shutil.move(src, dst)`:移动文件或目录,等同于rename,如果dst已存在,会被覆盖。 - `shutil.rmtree(path)`:删除目录及其所有内容,包括子目录。 - `shutil.make_archive(base_name, format, root_dir, base_dir=None)`:创建归档文件,如zip或tar.gz。 通过结合使用os和shutil模块,Python程序员可以轻松实现诸如文件管理、备份、迁移等复杂的任务。理解并熟练掌握这两个模块的操作,将极大地提升Python编程在实际项目中的效率和可维护性。