返回

Python判断文件、目录是否存在以及如何创建(多层)目录

开发工具

  1. 前言

Python中存在许多有用的模块,可以帮助我们更轻松地处理文件和目录。在本篇文章中,我们将介绍如何使用Python来判断文件和目录是否存在,以及如何创建(多层)目录。

  1. os模块

在Python中,我们可以使用os模块来处理文件和目录。os模块提供了一些非常有用的函数,可以帮助我们判断文件和目录是否存在,以及如何创建(多层)目录。

(1) 判断文件是否存在

我们可以使用os.path.exists()函数来判断一个文件是否存在。该函数接受一个文件路径作为参数,如果文件存在,则返回True,否则返回False。

import os

# 判断文件是否存在
file_path = 'test.txt'
if os.path.exists(file_path):
    print('File exists')
else:
    print('File does not exist')

(2) 判断文件夹是否存在

我们可以使用os.path.isdir()函数来判断一个文件夹是否存在。该函数接受一个文件夹路径作为参数,如果文件夹存在,则返回True,否则返回False。

import os

# 判断文件夹是否存在
dir_path = 'test_dir'
if os.path.isdir(dir_path):
    print('Directory exists')
else:
    print('Directory does not exist')

(3) 其他

os模块还提供了一些其他的函数,可以帮助我们处理文件和目录,例如:

  • os.path.join():将多个路径组合成一个路径
  • os.path.split():将路径拆分为目录和文件名
  • os.path.getsize():获取文件的大小
  • os.path.getmtime():获取文件的修改时间

(4) 创建多层目录

我们可以使用os.makedirs()函数来创建多层目录。该函数接受一个目录路径作为参数,如果目录不存在,则创建它。

import os

# 创建多层目录
dir_path = 'test_dir/sub_dir/sub_sub_dir'
os.makedirs(dir_path)

(5) 创建单层目录

如果我们只需要创建一个单层目录,我们可以使用os.mkdir()函数。该函数接受一个目录路径作为参数,如果目录不存在,则创建它。

import os

# 创建单层目录
dir_path = 'test_dir'
os.mkdir(dir_path)

(6) 判断文件是否可以读写

我们可以使用os.access()函数来判断一个文件是否可以读写。该函数接受一个文件路径和一个模式作为参数,如果文件可以读写,则返回True,否则返回False。

import os

# 判断文件是否可以读写
file_path = 'test.txt'
if os.access(file_path, os.R_OK | os.W_OK):
    print('File is readable and writable')
else:
    print('File is not readable and writable')
  1. try语句

在Python中,我们可以使用try语句来处理异常。异常是指程序在运行过程中遇到的错误。当异常发生时,程序会抛出异常信息,我们可以使用try语句来捕获异常信息,并进行相应的处理。

try:
    # 代码块
except Exception as e:
    # 异常处理代码块
  1. pathlib

pathlib是Python中的一个模块,它提供了许多方便的方法来处理文件和目录。pathlib模块比os模块更面向对象,它提供了更简洁、更易用的API。

from pathlib import Path

# 判断文件是否存在
file_path = Path('test.txt')
if file_path.exists():
    print('File exists')
else:
    print('File does not exist')

Pathlib模块还提供了许多其他的方法,可以帮助我们处理文件和目录,例如:

  • Path.joinpath():将多个路径组合成一个路径
  • Path.parent:获取父目录
  • Path.name:获取文件名
  • Path.suffix:获取文件后缀
  • Path.touch():创建文件