Python文件目录操作就是这么6

简介: Python文件目录操作就是这么6

目录是文件系统中的节点,用于组织和访问文件。在Python中,我们可以使用os和os.path模块进行目录相关的操作。

os模块

os模块提供了许多与操作系统交互的函数。以下是os模块中与目录相关的函数:

os.path.exists(path):检查指定路径是否存在。如果存在,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/directory"  
if os.path.exists(path):  
    print("Directory exists.")  
else:  
    print("Directory does not exist.")

os.path.isfile(path):检查指定路径是否为文件。如果是文件,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/file.txt"  
if os.path.isfile(path):  
    print("Path is a file.")  
else:  
    print("Path is not a file.")

os.path.isdir(path):检查指定路径是否为目录。如果是目录,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/directory"  
if os.path.isdir(path):  
    print("Path is a directory.")  
else:  
    print("Path is not a directory.")

os.listdir(path):返回指定路径下的所有文件和目录的列表。

示例代码:

import os  
  
path = "/path/to/directory"  
files = os.listdir(path)  
print("Files in the directory:", files)


os.mkdir(path):创建新目录。如果目录已存在,则会引发FileExistsError异常。

os.makedirs(path):递归创建目录。如果目录已存在,则不会引发异常。

示例代码:

import os  
  
path = "/path/to/new/directory"  
os.makedirs(path, exist_ok=True)  # 创建目录,如果目录已存在则不会引发异常

os.rmdir(path):删除目录。如果目录为空,则会引发FileNotFoundError异常。

os.removedirs(path):递归删除目录。如果目录非空,则会先删除目录下的文件和子目录。

示例代码:

import os  
  
path = "/path/to/directory"  
os.removedirs(path)  # 递归删除目录及其下的文件和子目录

除了上述函数外,os模块还提供了其他与目录相关的功能,例如获取当前工作目录、改变当前工作目录等。

os.path模块

os.path模块提供了一些用于处理文件路径的函数,这些函数可以帮助我们更好地处理文件路径。以下是os.path模块中常用的函数:

os.path.join(path1, path2, ...):将多个路径组件连接成一个路径。

示例代码:

import os  
  
path = os.path.join("/home", "user", "documents", "file.txt")  
print(path)  # 输出:/home/user/documents/file.txt

os.path.split(path):将路径分割成目录和文件名,并返回一个元组。

示例代码:

import os  
  
dir_name, file_name = os.path.split("/home/user/documents/file.txt")  
print("Directory:", dir_name)  # 输出:Directory: /home/user/documents  
print("File name:", file_name)  # 输出:File name: file.txt

os.path.splitext(path):将路径分割成文件名和扩展名,并返回一个元组。

示例代码:

import os  
  
base_name, ext = os.path.splitext("/home/user/documents/file.txt")  
print("Base name:", base_name)  # 输出:Base name: file  
print("Extension:", ext)  # 输出:Extension: .txt

os.path.dirname(path):返回指定路径的目录名。

示例代码:

import os  
  
dir_name = os.path.dirname("/home/user/documents/file.txt")  
print(dir_name)  # 输出:/home/user/documents

os.path.basename(path):返回指定路径的文件名。

示例代码:

import os  
  
file_name = os.path.basename("/home/user/documents/file.txt")  
print(file_name)  # 输出:file.txt

os.path.exists(path):检查指定路径是否存在。如果存在,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/directory"  
if os.path.exists(path):  
    print("Directory exists.")  
else:  
    print("Directory does not exist.")

os.path.isfile(path):检查指定路径是否为文件。如果是文件,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/directory"  
if os.path.exists(path):  
    print("Directory exists.")  
else:  
    print("Directory does not exist.")

os.path.isdir(path):检查指定路径是否为目录。如果是目录,返回True;否则返回False。

示例代码:

import os  
  
path = "/path/to/file.txt"  
if os.path.isfile(path):  
    print("Path is a file.")  
else:  
    print("Path is not a file.")

os.path.normpath(path):规范化路径字符串,处理路径中的.、..等特殊符号。

示例代码:

import os  
  
path = "/path/to/directory"  
if os.path.isdir(path):  
    print("Path is a directory.")  
else:  
    print("Path is not a directory.")

os.path.abspath(path):返回指定路径的绝对路径。

示例代码:

import os  
  
path = "/home/user/documents/file.txt"  
absolute_path = os.path.abspath(path)  
print(absolute_path)  # 输出:/home/user/documents/file.txt

os.path.relpath(path, start=None):返回从start路径到目标路径的相对路径。如果start为None,则默认使用当前工作目录作为起始路径。

示例代码:

import os  
  
target_path = "/home/user/documents/file.txt"  
start_path = "/home/user"  
relative_path = os.path.relpath(target_path, start_path)  
print(relative_path)  # 输出:documents/file.txt

除了上述函数外,os.path模块还提供了其他一些用于处理文件路径的函数,例如判断路径是否为根目录、获取路径中的驱动器名称等。这些函数可以帮助我们更好地处理文件路径。


相关文章
|
2天前
|
SQL 关系型数据库 MySQL
使用Python的pymysql库连接MySQL,执行CRUD操作
使用Python的pymysql库连接MySQL,执行CRUD操作:安装pymysql,然后连接(host='localhost',user='root',password='yourpassword',database='yourdatabase'),创建游标。查询数据示例:`SELECT * FROM yourtable`;插入数据:`INSERT INTO yourtable...`;更新数据:`UPDATE yourtable SET...`;删除数据:`DELETE FROM yourtable WHERE...`。
8 0
|
3天前
|
Linux iOS开发 MacOS
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
|
3天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之我需要在MaxCompute客户端添加Python第三方包,我该怎么操作
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3天前
|
SQL 关系型数据库 MySQL
Python操作mysql数据库
Python操作mysql数据库
|
3天前
|
NoSQL Python
在Python中,我们可以使用许多库来处理Excel文件
Python处理Excel常用pandas和openpyxl库。pandas的`read_excel`用于读取文件,`to_excel`写入;示例展示了数据框操作。openpyxl则用于处理复杂情况,如多工作表,`load_workbook`加载文件,`iter_rows`读取数据,`Workbook`创建新文件,写入单元格数据后保存。
11 1
|
4天前
【Python21天学习挑战赛】文件读写操作
【Python21天学习挑战赛】文件读写操作
|
5天前
|
弹性计算 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之阿里函数计算中出现'python app.py'的错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
14 3
|
6天前
|
存储 人工智能 索引
Python中的嵌套字典访问与操作详解
Python中的嵌套字典访问与操作详解
15 1
|
6天前
|
数据采集 存储 人工智能
Python采集数据保存CSV文件内容乱码解决
Python采集数据保存CSV文件内容乱码解决
21 1
|
7天前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
4 0