import oscwd = os.getcwd()for dir_path, dir_names, file_names in os.walk(cwd): for f in file_names: print(f)以上是获取信息的操作 。下面让我们一起看一下更改工作目录或移动、复制、删除文件系统的命令 。
更改信息
os.chdir("/absolute/or/relative/path")此方法将当前工作路径更改为绝对路径或相对路径 。
如果随后要对文件系统进行其他更改,在试用该方法时留意处理任何异常 。否则,您可能正在删除不希望删除的目录或文件 。
os.path.join()os.path模块提供了许多用于路径名操作的有用方法 。您可以使用它查找有关目录名称,或者目录名称的部分信息 。该模块还可以用来检查文件或目录是否存在 。
os.path.join()提供将多个字符串完美连接在一起的文件路径,而且是在大多数操作系统上都可以工作的路径 。该模块文档的描述为,该命令可以“更加智能的连接一个或多个路径组件,返回值是路径或路径的任何成员路径的连接,每个非空路径后都有一个目录分隔符(os.sep),最后一个除外” 。
另外,如果使用的是Unix或macOS系统,os.path.join()会在每个字符串之间添加一个斜杠(" / ")来创建路径 。如果操作系统需要“”,那么join会自动使用反斜杠 。
os.path.join()还向其他开发人员提供了创建路径的明确信息 。强烈建议读者多使用这个命令,不要每次都手动添加斜杠 。
os.makedirs("dir1/dir2")os.makedirs()能够生成目录 。mkdir()方法也可以生成目录,但它不生成中间目录 。所以建议使用os.makedirs() 。
shutil.copy2("source_file", "destination")在Python中复制文件和目录的方法有很多,但建议使用此命令 。shutil.copy2()的优势在于,它尽可能地保留了源文件的元数据 。如果你希望对文件和努力的复制有更多了解,可以阅读这篇文章 。
移动文件
shutil.move("source_file", "destination")使用shutil.move()更改文件的位置 。它使用 copy2 作为后台参数默认值 。
os.remove("my_file_path")当需要删除文件时,可以使用os.remove()工具 。
shutil.rmtree("my_directory_path")shutil.rmtree()删除一个目录及其中的所有文件和目录 。
删除文件
使用删除函数的时候一定要多加小心!您可以使用print()将要删除的内容打印出来,在确定不会删除错误文件后,再用相应的删除文件函数替换print() 。在此向Al Sweigart致敬,感谢他在文章《Automate the Boring Stuff with Python》中进行的讨论 。
最后我们再回顾一下整个方法 。
10种文件系统方法概述
下面方法遵循这个模式:方法——描述——等效macOS Shell命令
获取信息
- os.getcwd() ——以字符串形式获取当前工作目录路径—— pwd
- os.listdir()?——以字符串列表的形式获取当前工作目录的内容——ls
- os.walk("starting_directory_path")——返回函数,其中包含当前目录和所有子目录中的目录和文件的名称和路径信息——没有完全等价的shell命令,不过ls -R提供了子目录名称和子目录中的文件名称
- os.chdir("/absolute/or/relative/path")?——改变当前的工作路径——cd
- os.path.join()——创建路径供后续使用——没有等效CLI
- os.makedirs (“dir1 / dir2”)——创建目录——mkdir - p
- shutil.copy2("source_file_path","destination_directory_path")——复制文件或目录——cp
- shutil.move("source_file_path","destination_directory_path")——移动文件或目录——mv
- os.remove (“my_file_path”)——删除文件——rm
- shutil.rmtree (“my_directory_path”)——删除路径及其包含的所有文件和目录——rm –rf
如果你想对相关内容有更多了解,可以看看免费的电子书,或者多用Python编编代码 。关于使用Python从文件中读写的相关操作,请查看open函数的官方文档 。
【Python处理文件系统的10种方法】
推荐阅读
- 如何删除隐藏文件
- Python入门:4段简短代码实现Excel读写
- 使用 Black 自由格式化 Python
- 女生对你冷淡了怎么处理 女生突然对我很冷淡了怎么办
- 手机内存垃圾不会清理?学会删除这几个文件夹,瞬间腾出几个G
- 微信文件备份,有这两个小程序就足够了
- hadoop菜鸟教程 hadoop上传文件命令
- Python 连接数据库的多种方法
- 一图看懂编程语言迁移模式:终点站是Python、Go、JS
- Python代码 十二种必须掌握的降维知识