欢迎访问宙启技术站
智能推送

Python的文件路径处理函数有哪些?

发布时间:2023-06-11 05:25:11

Python是一门流行的编程语言,其处理文件路径的函数非常实用和强大。它提供了很多模块和方法,可以用于处理不同类型的路径,包括相对路径、绝对路径和网络路径。本文将介绍Python中与文件路径有关的一些常见函数和模块。

一、os模块

os模块是Python中处理文件路径的核心模块。它提供了许多常用的功能和方法,可以操作文件、目录和路径等信息。

1. os.getcwd()

os.getcwd()用于获取当前目录的路径。返回一个字符串表示当前路径。

示例:

import os
print(os.getcwd())  # 输出当前路径

2. os.path.abspath()

os.path.abspath()用于返回路径的绝对路径。如果路径是相对路径,则将其转换为绝对路径。

示例:

import os
path = 'test.txt'
print(os.path.abspath(path))  # 输出绝对路径

3. os.path.dirname()

os.path.dirname()用于获取路径中的目录名部分。如果路径中不包含目录名,则返回空字符串。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.dirname(path))  # 输出目录名

4. os.path.basename()

os.path.basename()用于获取路径中的文件名部分。如果路径中不包含文件名,则返回空字符串。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.basename(path))  # 输出文件名

5. os.path.join()

os.path.join()用于将多个路径合并为一个路径。它自动匹配斜杠或反斜杠,在Windows和Unix系统下均可使用。

示例:

import os
path = os.path.join('/Users/user', 'Desktop', 'test.txt')
print(path)  # 输出拼接后的路径

6. os.path.exists()

os.path.exists()用于判断路径是否存在。如果路径存在,则返回True,否则返回False。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.exists(path))  # 输出True

7. os.path.isdir()

os.path.isdir()用于判断路径是否为文件夹。如果是文件夹,则返回True,否则返回False。

示例:

import os
path = '/Users/user/Desktop/'
print(os.path.isdir(path))  # 输出True

8. os.path.isfile()

os.path.isfile()用于判断路径是否为文件。如果是文件,则返回True,否则返回False。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.isfile(path))  # 输出True

9. os.path.split()

os.path.split()用于将路径分解为两部分,即目录名和文件名。它返回一个元组,其中第一个元素为目录名,第二个元素为文件名。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.split(path))  # 输出('/Users/user/Desktop', 'test.txt')

10. os.path.splitext()

os.path.splitext()用于将路径分解为两部分,即文件名和扩展名。它返回一个元组,其中第一个元素为文件名,第二个元素为扩展名。

示例:

import os
path = '/Users/user/Desktop/test.txt'
print(os.path.splitext(path))  # 输出('/Users/user/Desktop/test', '.txt')

11. os.path.commonprefix()

os.path.commonprefix()用于查找多个路径的共同前缀。它返回一个字符串,表示多个路径的共同前缀部分。

示例:

import os
paths = ['/Users/user/Desktop/test.txt', '/Users/user/Documents/file.txt']
print(os.path.commonprefix(paths))  # 输出'/Users/user/'

二、os.pathlib模块

os.pathlib模块是Python 3.4版本引入的新模块,它提供了对路径的面向对象的处理方式。与os模块不同,os.pathlib是基于路径对象进行操作。

1. pathlib.Path()

pathlib.Path()是os.pathlib模块的主要类。它用于创建路径对象。可以使用相对路径或绝对路径作为参数,或者使用字符串形式的路径。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt')
print(path)  # 输出路径对象

2. pathlib.Path.cwd()

pathlib.Path.cwd()用于获取当前工作目录的路径对象。

示例:

import pathlib
path = pathlib.Path.cwd()
print(path)  # 输出当前路径对象

3. pathlib.Path.home()

pathlib.Path.home()用于获取当前用户的HOME路径对象。

示例:

import pathlib
path = pathlib.Path.home()
print(path)  # 输出HOME路径对象

4. pathlib.Path.resolve()

pathlib.Path.resolve()用于获取路径的绝对路径对象。

示例:

import pathlib
path = pathlib.Path('test.txt').resolve()
print(path)  # 输出绝对路径对象

5. pathlib.Path.joinpath()

pathlib.Path.joinpath()用于将多个路径合并为一个路径对象。它接受多个参数,也可以使用列表或元组。

示例:

import pathlib
path = pathlib.Path('/Users/user').joinpath('Desktop', 'test.txt')
print(path)  # 输出拼接后的路径对象

6. pathlib.Path.exists()

pathlib.Path.exists()用于判断路径是否存在。如果路径存在,则返回True,否则返回False。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt')
print(path.exists())  # 输出True

7. pathlib.Path.is_dir()

pathlib.Path.is_dir()用于判断路径是否为文件夹。如果是文件夹,则返回True,否则返回False。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/')
print(path.is_dir())  # 输出True

8. pathlib.Path.is_file()

pathlib.Path.is_file()用于判断路径是否为文件。如果是文件,则返回True,否则返回False。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt')
print(path.is_file())  # 输出True

9. pathlib.Path.parent()

pathlib.Path.parent()用于获取路径中的父目录路径对象。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt').parent
print(path)  # 输出父目录路径对象

10. pathlib.Path.name()

pathlib.Path.name()用于获取路径中的文件名或文件夹名。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt').name
print(path)  # 输出文件名

11. pathlib.Path.stat()

pathlib.Path.stat()用于获取路径的状态信息。

示例:

import pathlib
path = pathlib.Path('/Users/user/Desktop/test.txt')
info = path.stat()
print(info)  # 输出文件状态信息

三、其他模块和方法

1. os.path.normpath()

os.path.normpath()用于对路径进行标准化处理,即将路径中的"."和".."转换为实际路径。返回一个标准化后的路径。

示例:

import os
path = '/Users/user/./Desktop/../test.txt'
print(os.path.normpath(path))  # 输出标准化后的路径

2. os.path.relpath()

os.path.relpath()用于获取相对路径。它接受两个参数,第一个参数为目标路径,第二个参数为起始路径。如果不指定第二个参数,则使用当前工作目录作为起始路径。

示例:

import os
path = os.path.relpath('/Users/user/Desktop/test.txt', '/Users/user/')
print(path)  # 输出相对路径

3. os.path.expanduser()

os.path.expanduser()用于将路径中的"~"转换为用户的HOME路径。返回一个扩展后的路径。

示例:

import os
path = '~/Documents'
print(os.path.expanduser(path))  # 输出扩展后的路径

4. os.makedirs()

os.makedirs()用于创建多级目录。如果目录已存在,则不进行任何操作。

示例:

`

import os

path = '/Users/user/Documents/Folder1/Folder2'

os.makedirs(path) #