Python中的文件路径(如何在Python中写文件路径)

一、绝对路径与相对路径

在Python中,文件路径有两种表示方式:绝对路径和相对路径。

绝对路径是指从根目录(Windows中是C:,Unix和Linux中是 / )开始一直到目标文件的完整路径。在使用绝对路径时,无论当前位置在哪里,都能准确地找到目标文件。

相对路径是指从当前位置开始,到目标文件的路径表示方法。相对路径只能在当前目录下找到文件,不能跨目录查找文件。相对路径的表示方法有两种:一种是以./开头,表示当前目录;另一种是以../开头,表示上一级目录。

#绝对路径
file_path = "C:/Users/Administrator/Desktop/test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
    print(f.read())

#相对路径
file_path = "./test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
    print(f.read())

二、os模块的使用

Python中os模块可以用于管理文件和目录,提供了一些常用的函数,方便于我们在编程中操作文件和目录。

os.path模块是os模块的子模块,提供了一些处理路径和目录的函数。

os.path.abspath()函数可以返回文件的绝对路径。

import os
file_path = "test.txt"
print(os.path.abspath(file_path))

os.path.join()函数可以将多个路径拼接成一个完整路径。

import os
path1 = "C:/Users/Administrator/Desktop"
path2 = "test.txt"
file_path = os.path.join(path1, path2)
print(file_path)

os.path.split()函数可以将路径分割成目录和文件名。

import os
file_path = "C:/Users/Administrator/Desktop/test.txt"
dir, file = os.path.split(file_path)
print(dir)
print(file)

三、glob模块的使用

glob模块可以用于查找符合条件的文件路径。

glob.glob()函数可以返回匹配指定模式的文件路径。

import glob
files_path = glob.glob("C:/Users/Administrator/Desktop/*.txt")
print(files_path)

glob.iglob()函数返回一个迭代器,可以逐个返回匹配指定模式的文件路径。

import glob
files_path = glob.iglob("C:/Users/Administrator/Desktop/*.txt")
for path in files_path:
    print(path)

四、pathlib模块的使用

pathlib模块可以用于操作文件和文件夹的路径,提供了一些更加简洁易用的函数。

Path()函数可以创建Path对象,表示文件或文件夹的路径。

from pathlib import Path
file_path = Path("C:/Users/Administrator/Desktop/test.txt")
print(file_path)

Path().resolve()方法可以返回文件的绝对路径。

from pathlib import Path
file_path = Path("test.txt")
print(file_path.resolve())

Path().joinpath()方法可以将多个路径拼接成一个完整路径。

from pathlib import Path
path1 = Path("C:/Users/Administrator/Desktop")
path2 = "test.txt"
file_path = path1.joinpath(path2)
print(file_path)

Path().name和Path().parent属性可以分别返回文件的名称和父目录。

from pathlib import Path
file_path = Path("C:/Users/Administrator/Desktop/test.txt")
print(file_path.name)
print(file_path.parent)

五、总结

Python中操作文件路径有多种方式,可以通过os模块、glob模块和pathlib模块等实现。掌握这些方法可以更加方便地操作文件和目录。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平