你可以编写Python程序来与文件系统交互来做一些很酷的事情。然而,如何做到这一点并不总是很清楚。本文将重点介绍10个基本操作系统操作和shutil命令,以便您可以编写脚本来自动与文件系统进行交互。os模块是与操作系统交互的主要Python模块。shutil模块还包含高级文件操作。通常,您可以使用os创建目录,但可以使用shutil移动和复制它们。文件系统有点像房子。假设您正在打扫卫生,需要将笔记本电脑箱从一个房间移到另一个房间。这些盒子就像里面有文件的目录。文件就像档案。您可以读写它们,也可以将它们放入目录框中。获取信息1.os.getcwd()以字符串的形式获取当前工作目录路径,相当于macOS/Linux系统的pwd命令2.os.listdir()获取当前工作目录的内容,形式为一个字符串列表,相当于macOS/Linux系统的ls命令3.os.walk(“starting_directory_path”)返回一个生成器,包含当前目录和所有子目录下的目录和文件的名称和路径信息os.walk()创建一个生成器,它可以返回当前目录和子目录的信息。它通过在主目录中指定目录来工作。os.walk()为它遍历的每个目录返回以下项目:当前目录路径作为字符串当前目录中的子目录名称作为字符串列表当前目录中的文件名作为字符串列表使用for循环os.walk()通常用于遍历目录及其子目录的内容。例如,下面的代码将打印当前工作目录的目录和子目录中的所有文件。importoscwd=os.getcwd()fordir_path,dir_names,file_namesinos.walk(cwd):forfinfile_names:print(f)这就是我们获取信息的方式,现在让我们看看更改工作目录或移动、复制或删除文件系统的部分内容命令。Changethings4.os.chdir("/absolute/or/relative/path")相当于macOS/Linux系统的cd命令该方法将当前工作目录更改为提供的绝对路径或相对路径。如果您的代码随后对文件系统进行了其他更改,最好处理在使用try-except方法时抛出的任何异常。否则,您可能会删除您不打算删除的目录或文件。5.os.path.join()os.path模块有许多用于常见路径名操作的有用方法。您可以使用它来查找有关目录名称和部分目录名称的信息。模块也有检查文件或目录是否存在的方法。join()旨在通过将多个字符串连接成单个文件路径来创建适用于大多数操作系统的路径。基本上,如果您使用的是Unix或macOS系统,os.path.join()会在提供的每个字符串之间添加一个正斜杠(“/”)以创建路径。如果操作系统需要“\”,则join知道使用反斜杠。join()还向其他开发人员提供明确的信息以创建路径。请务必使用它而不是手动字符串连接,以免看起来像新手。6.os.makedirs("dir1/dir2")相当于macOS/Linux系统的mkdir-p命令os.makedirs()创建目录。mkdir()方法也创建目录,但它不创建中间目录。所以我建议你使用os.makedirs()。7.shutil.copy2("source_file_path","destination_directory_path")相当于macOS/Linux系统的cp命令。在Python中有多种复制文件和目录的方法。shutil.copy2()是一个不错的选择,因为它会尝试保留尽可能多的源文件元数据。8.shutil.move("source_file","destination")相当于macOS/Linux系统的mv命令。使用shutil.move()更改文件的位置。9.os.remove("my_file_path")相当于macOS/Linux系统的rm命令10.shutil.rmtree("my_directory_path")相当于macOS/Linux系统的rm-rf命令
