📜  Python目录管理(1)

📅  最后修改于: 2023-12-03 14:46:46.049000             🧑  作者: Mango

Python目录管理

简介

在日常的开发中,我们常常需要管理文件和目录。Python提供了一些内置模块和第三方库来帮我们进行目录管理,大大减少了我们手动操作的时间和出错的可能性。

操作基础
文件路径

Python中文件路径可以用字符串表示,分为两种:

  1. 相对路径:相对于当前文件所在目录的路径。(如:"./test.txt")
  2. 绝对路径:完整的文件路径,包括盘符、文件夹路径和文件名。(如:"C:\Users\Admin\Desktop\test.txt")

在用Python操作文件或目录时,很多时候我们都需要用到文件路径。

os模块

Python提供了一个内置模块os来进行文件和目录管理。

获取当前工作目录

import os

current_path = os.getcwd()

print(current_path)

输出结果:

/C/Users/Admin/Desktop

创建目录

import os

dir_path = "new_dir"

if not os.path.exists(dir_path):
    os.mkdir(dir_path)

删除目录

import os

dir_path = "new_dir"

if os.path.exists(dir_path):
    os.rmdir(dir_path)

列出目录下的文件和文件夹

import os

dir_path = "."

dirs_and_files = os.listdir(dir_path)

for item in dirs_and_files:
    print(item)

检查文件或目录是否存在

import os

path = "test.txt"

if os.path.exists(path):
    print("文件或目录存在!")
else:
    print("文件或目录不存在!")
shutil模块

Python的shutil模块也提供了一些方法来进行文件和目录管理。

复制文件

import shutil
import os

src_path = "test.txt"
dst_path = os.path.join("new_dir", "test_copy.txt")

shutil.copy(src_path, dst_path)

移动文件和目录

import shutil
import os

# 移动文件
src_path = "test.txt"
dst_path = os.path.join("new_dir", "test_move.txt")

shutil.move(src_path, dst_path)

# 移动目录
src_path = "new_dir"
dst_path = "new_dir2"

shutil.move(src_path, dst_path)

删除文件

import os

file_path = "test.txt"

if os.path.isfile(file_path):
    os.remove(file_path)
第三方库

除了内置模块外,Python还有一些第三方库可以帮我们进行目录管理。

pathlib

Python3.4引入的pathlib模块,提供了一种更加简便的操作文件和目录的方式,使得代码更加易读。

获取当前工作目录

from pathlib import Path

current_path = Path.cwd()

print(current_path)

拼接路径

from pathlib import Path

path1 = Path("test1")
path2 = Path("test2")
path3 = Path("test3")

result_path = path1 / path2 / path3

print(result_path)

创建目录

from pathlib import Path

dir_path = Path("new_dir")

if not dir_path.exists():
    dir_path.mkdir()

删除目录

from pathlib import Path

dir_path = Path("new_dir")

if dir_path.exists() and dir_path.is_dir():
    dir_path.rmdir()

列出目录下的文件和目录

from pathlib import Path

dir_path = Path(".")

for item in dir_path.iterdir():
    print(item)

检查文件或目录是否存在

from pathlib import Path

path = Path("test.txt")

if path.exists():
    print("文件或目录存在!")
else:
    print("文件或目录不存在!")
glob

glob模块可以帮助我们查找符合特定规则的文件路径。

import glob

result_list = glob.glob("*.txt")

print(result_list)

以上代码会输出当前目录下所有的txt文件路径列表。

结尾

本文介绍了Python的一些目录管理方法和工具,希望可以帮助大家更加高效地进行开发。