python 文件目录处理(os模块)
在Python 3中,您可以使用os
模块来执行文件和目录操作。下面是一些常见的文件和目录操作及其示例:
- 新建目录
要在Python 3中新建一个目录,请使用os.mkdir()
方法,并将要创建的目录的路径作为参数传递给它。例如:
import os os.mkdir('/path/to/new/folder')
这将在指定的路径/path/to/new/folder
创建一个名为"folder"的新目录。
- 删除目录
要在Python 3中删除一个目录,请使用os.rmdir()
方法,并将要删除的目录的路径作为参数传递给它。例如:
import os os.rmdir('/path/to/folder')
这将删除指定路径/path/to/folder
中的名为"folder"的目录。
- 寻找文件目录/文件路径
要在Python 3中寻找特定的文件目录或文件路径,请使用os.path
模块中的方法。例如:
-
要获取当前工作目录,请使用
os.getcwd()
方法,例如:import os current_dir = os.getcwd() print(current_dir)
import os file_path = '/path/to/file.txt' if os.path.exists(file_path): print('File exists!') else: print('File does not exist!')
4.目录文件的其他操作
-
Python 3中还有许多其他有用的文件和目录操作,例如:
-
列出目录中的所有文件和子目录:使用
os.listdir()
方法,例如:
要检查文件是否存在,请使用
os.path.exists()
方法,例如:import os dir_path = '/path/to/folder' files = os.listdir(dir_path) print(files)
移动文件或目录:使用
os.rename()
方法,例如:import os old_path = '/path/to/old/file.txt' new_path = '/path/to/new/file.txt' os.rename(old_path, new_path)
复制文件或目录:使用
shutil.copy()
或shutil.copytree()
方法,例如:import shutil src_file = '/path/to/source/file.txt' dest_file = '/path/to/destination/file.txt' shutil.copy(src_file, dest_file)
- 遍历目录树
要在Python 3中遍历目录树并列出所有文件,请使用
os.walk()
方法,例如:import os root_dir = '/path/to/root/folder' for dirpath, dirnames, filenames in os.walk(root_dir): for filename in filenames: print(os.path.join(dirpath, filename))
这将遍历指定的根目录
/path/to/root/folder
中的所有子目录和文件,并将每个文件路径打印到控制台。- 创建多级目录
要在Python 3中创建多级目录,请使用
os.makedirs()
方法,并将包含所有级别的完整路径作为参数传递给它。例如:import os os.makedirs('/path/to/new/multilevel/folder')
这将在指定的路径
/path/to/new/multilevel/folder
创建一个名为"folder"的新目录,并同时创建它所在的所有父级目录(即"/path"和"/path/to/new")。- 删除目录及其内容
要在Python 3中删除一个目录及其所有内容,请使用
shutil.rmtree()
方法,并将要删除的目录路径作为参数传递给它。例如:import shutil shutil.rmtree('/path/to/folder')
这将删除指定路径
/path/to/folder
中的名为"folder"的目录,并删除该目录及其所有内容。 -
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)