在Python中,我们可以使用os模块来选择文件夹,os模块提供了许多与操作系统交互的函数,其中包括处理文件和目录的函数,以下是一些常用的选择文件夹的方法:
(图片来源网络,侵删)
1、使用os.path.dirname()
函数获取文件所在的目录,这个函数接受一个路径作为参数,并返回该路径的父目录。
import os file_path = "/home/user/documents/example.txt" dir_path = os.path.dirname(file_path) print(dir_path) # 输出: /home/user/documents
2、使用os.listdir()
函数列出目录中的所有文件和子目录,这个函数接受一个路径作为参数,并返回一个包含该路径下所有文件和子目录名称的列表。
import os dir_path = "/home/user/documents" files = os.listdir(dir_path) print(files) # 输出: ['example.txt', 'subfolder']
3、使用os.chdir()
函数改变当前工作目录,这个函数接受一个路径作为参数,并将当前工作目录更改为该路径。
import os new_dir_path = "/home/user/documents" os.chdir(new_dir_path) print(os.getcwd()) # 输出: /home/user/documents
4、使用os.makedirs()
函数创建一个新的目录,这个函数接受一个路径作为参数,并创建该路径下的所有缺失的父目录。
import os new_dir_path = "/home/user/new_folder" os.makedirs(new_dir_path) print(os.path.exists(new_dir_path)) # 输出: True
5、使用os.rmdir()
函数删除一个空目录,这个函数接受一个路径作为参数,并删除该路径下的目录,如果目录不为空,将引发异常。
import os dir_path = "/home/user/new_folder" os.rmdir(dir_path) print(os.path.exists(dir_path)) # 输出: False
6、使用os.remove()
函数删除一个文件,这个函数接受一个路径作为参数,并删除该路径下的文件,如果文件不存在,将引发异常。
import os file_path = "/home/user/documents/example.txt" os.remove(file_path) print(os.path.exists(file_path)) # 输出: False
7、使用os.rename()
函数重命名一个文件或目录,这个函数接受两个路径作为参数,并将第一个路径下的文件或目录重命名为第二个路径。
import os old_file_path = "/home/user/documents/example.txt" new_file_path = "/home/user/documents/new_example.txt" os.rename(old_file_path, new_file_path) print(os.path.exists(old_file_path)) # 输出: False print(os.path.exists(new_file_path)) # 输出: True
8、使用os.stat()
函数获取文件或目录的信息,这个函数接受一个路径作为参数,并返回一个包含该路径下文件或目录信息的对象。
import os file_path = "/home/user/documents/example.txt" stat_info = os.stat(file_path) print(stat_info) # 输出: os.stat_result(st_mode=33206, st_ino=12345, st_dev=67890, st_nlink=1, st_uid=1000, st_gid=1000, st_size=1024, st_atime=1629450000, st_mtime=1629450000, st_ctime=1629450000)
以上就是在Python中使用os模块选择文件夹的一些常用方法,通过这些方法,我们可以方便地操作文件和目录,实现各种功能。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)