Python查看文件夹是否存在

Python查看文件夹是否存在

Python查看文件夹是否存在

在Python中,我们经常需要检查某个文件夹是否存在,以便在程序中做出相应的处理。本文将详细介绍如何使用Python来查看文件夹是否存在,并提供多个示例代码来演示不同情况下的处理方法。

使用os模块

Python的os模块提供了一些用于操作文件和目录的函数,其中就包括了检查文件夹是否存在的功能。我们可以使用os.path.exists()函数来判断指定路径是否存在。

import os

folder_path = 'test_folder'

if os.path.exists(folder_path):
    print(f'The folder {folder_path} exists.')
else:
    print(f'The folder {folder_path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

运行以上代码,如果当前目录下存在名为test_folder的文件夹,则会输出”The folder test_folder exists.”,否则会输出”The folder test_folder does not exist.”。

使用os.path.isdir()

除了使用os.path.exists()函数外,我们还可以使用os.path.isdir()函数来判断指定路径是否为一个目录。

import os

folder_path = 'test_folder'

if os.path.isdir(folder_path):
    print(f'{folder_path} is a directory.')
else:
    print(f'{folder_path} is not a directory.')

代码运行结果:

Python查看文件夹是否存在

运行以上代码,如果当前目录下存在名为test_folder的文件夹,则会输出”test_folder is a directory.”,否则会输出”test_folder is not a directory.”。

使用try-except语句

在实际开发中,我们可能会遇到文件夹不存在的情况,为了避免程序出现异常,我们可以使用try-except语句来捕获可能的异常。

import os

folder_path = 'test_folder'

try:
    os.listdir(folder_path)
    print(f'The folder {folder_path} exists.')
except FileNotFoundError:
    print(f'The folder {folder_path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.listdir()函数来尝试读取指定路径下的文件列表,如果文件夹不存在,则会抛出FileNotFoundError异常,我们在except块中捕获该异常并输出相应信息。

使用pathlib模块

除了os模块外,Python还提供了pathlib模块,它提供了更加面向对象的方式来操作文件和目录。我们可以使用Path对象的exists()方法来判断路径是否存在。

from pathlib import Path

folder_path = Path('test_folder')

if folder_path.exists():
    print(f'The folder {folder_path} exists.')
else:
    print(f'The folder {folder_path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

运行以上代码,如果当前目录下存在名为test_folder的文件夹,则会输出”The folder test_folder exists.”,否则会输出”The folder test_folder does not exist.”。

使用os.path.join()

在实际开发中,我们经常需要拼接文件路径,可以使用os.path.join()函数来拼接路径,然后再判断路径是否存在。

import os

folder_name = 'test_folder'
folder_path = os.path.join(os.getcwd(), folder_name)

if os.path.exists(folder_path):
    print(f'The folder {folder_path} exists.')
else:
    print(f'The folder {folder_path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.getcwd()函数获取当前工作目录,然后使用os.path.join()函数拼接文件夹路径,最后判断路径是否存在。

使用os.makedirs()

如果我们需要在程序中创建文件夹,可以使用os.makedirs()函数来创建多层文件夹,如果文件夹已存在则不会报错。

import os

folder_path = 'new_folder'

os.makedirs(folder_path, exist_ok=True)
print(f'The folder {folder_path} has been created.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.makedirs()函数创建名为new_folder的文件夹,exist_ok参数设置为True表示如果文件夹已存在则不会报错。

使用pathlib.Path.mkdir()

除了os.makedirs()函数外,我们也可以使用pathlib.Path.mkdir()方法来创建文件夹。

from pathlib import Path

folder_path = Path('new_folder')

folder_path.mkdir(exist_ok=True)
print(f'The folder {folder_path} has been created.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用Path对象的mkdir()方法创建名为new_folder的文件夹,exist_ok参数设置为True表示如果文件夹已存在则不会报错。

使用os.path.isfile()

除了判断文件夹是否存在外,我们还可以使用os.path.isfile()函数来判断指定路径是否为一个文件。

import os

file_path = 'test.txt'

if os.path.isfile(file_path):
    print(f'{file_path} is a file.')
else:
    print(f'{file_path} is not a file.')

代码运行结果:

Python查看文件夹是否存在

运行以上代码,如果当前目录下存在名为test.txt的文件,则会输出”test.txt is a file.”,否则会输出”test.txt is not a file.”。

使用os.path.splitext()

在实际开发中,我们可能需要获取文件的扩展名,可以使用os.path.splitext()函数来获取文件的扩展名。

import os

file_path = 'test.txt'

file_name, file_ext = os.path.splitext(file_path)
print(f'The file {file_name} has extension {file_ext}.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.path.splitext()函数获取文件的文件名和扩展名,并输出相应信息。

使用os.path.basename()

除了获取文件的扩展名外,我们还可以使用os.path.basename()函数来获取文件的基本名称。

import os

file_path = 'test.txt'

file_name = os.path.basename(file_path)
print(f'The base name of {file_path} is {file_name}.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.path.basename()函数获取文件的基本名称,并输出相应信息。

使用os.path.dirname()

在实际开发中,我们可能需要获取文件的目录路径,可以使用os.path.dirname()函数来获取文件的目录路径。

import os

file_path = 'path/to/test.txt'

dir_path = os.path.dirname(file_path)
print(f'The directory of {file_path} is {dir_path}.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.path.dirname()函数获取文件的目录路径,并输出相应信息。

使用os.path.getsize()

除了判断文件夹是否存在外,我们还可以使用os.path.getsize()函数来获取文件的大小。

import os

file_path = 'test.txt'

file_size = os.path.getsize(file_path)
print(f'The size of {file_path} is {file_size} bytes.')

以上代码中,我们使用os.path.getsize()函数获取文件的大小,并输出相应信息。

使用os.path.abspath()

在实际开发中,我们可能需要获取文件的绝对路径,可以使用os.path.abspath()函数来获取文件的绝对路径。

import os

file_path = 'test.txt'

abs_path = os.path.abspath(file_path)
print(f'The absolute path of {file_path} is {abs_path}.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.path.abspath()函数获取文件的绝对路径,并输出相应信息。

使用os.path.realpath()

除了获取文件的绝对路径外,我们还可以使用os.path.realpath()函数来获取文件的真实路径。

import os

file_path = 'test.txt'

real_path = os.path.realpath(file_path)
print(f'The real path of {file_path} is {real_path}.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用os.path.realpath()函数获取文件的真实路径,并输出相应信息。

使用os.walk()

如果我们需要遍历文件夹下的所有文件和子文件夹,可以使用os.walk()函数来实现。

import os

folder_path = 'test_folder'

for root, dirs, files in os.walk(folder_path):
    print(f'Current directory: {root}')
    print(f'Subdirectories: {dirs}')
    print(f'Files: {files}')
    print()

以上代码中,我们使用os.walk()函数遍历名为test_folder的文件夹下的所有文件和子文件夹,并输出相应信息。

使用glob模块

除了os模块外,我们还可以使用glob模块来查找文件和文件夹。glob模块提供了一个函数glob(),可以使用通配符来匹配文件和文件夹。

import glob

files = glob.glob('*.txt')

for file in files:
    print(file)

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用glob.glob()函数查找当前目录下所有扩展名为.txt的文件,并输出文件名。

使用fnmatch模块

除了glob模块外,我们还可以使用fnmatch模块来进行文件名匹配。fnmatch模块提供了一个函数fnmatch(),可以使用通配符来匹配文件名。

import fnmatch
import os

files = os.listdir()

for file in files:
    if fnmatch.fnmatch(file, '*.txt'):
        print(file)

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们使用fnmatch.fnmatch()函数匹配当前目录下所有扩展名为.txt的文件,并输出文件名。

使用os.path.join()和os.listdir()

在实际开发中,我们可能需要遍历文件夹下的所有文件和子文件夹,可以使用os.path.join()和os.listdir()函数来实现。

import os

folder_path = 'test_folder'

for file_name in os.listdir(folder_path):
    file_path = os.path.join(folder_path, file_name)
    print(file_path)

以上代码中,我们使用os.listdir()函数获取文件夹下的所有文件和子文件夹,然后使用os.path.join()函数拼接文件路径,并输出文件路径。

使用os.scandir()

除了os.listdir()函数外,我们还可以使用os.scandir()函数来获取文件夹下的所有文件和子文件夹。

import os

folder_path = 'test_folder'

with os.scandir(folder_path) as entries:
    for entry in entries:
        print(entry.name)

以上代码中,我们使用os.scandir()函数获取文件夹下的所有文件和子文件夹,并输出它们的名称。

使用os.path.exists()和os.path.isdir()

在实际开发中,我们可能需要判断一个路径是文件还是文件夹,可以使用os.path.exists()和os.path.isdir()函数来实现。

import os

path = 'test_folder'

if os.path.exists(path):
    if os.path.isdir(path):
        print(f'{path} is a directory.')
    else:
        print(f'{path} is a file.')
else:
    print(f'{path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们先使用os.path.exists()函数判断路径是否存在,然后再使用os.path.isdir()函数判断路径是文件夹还是文件,并输出相应信息。

使用os.path.exists()和os.path.isfile()

除了判断路径是否为文件夹外,我们还可以使用os.path.exists()和os.path.isfile()函数来判断路径是否为文件。

import os

path = 'test.txt'

if os.path.exists(path):
    if os.path.isfile(path):
        print(f'{path} is a file.')
    else:
        print(f'{path} is a directory.')
else:
    print(f'{path} does not exist.')

代码运行结果:

Python查看文件夹是否存在

以上代码中,我们先使用os.path.exists()函数判断路径是否存在,然后再使用os.path.isfile()函数判断路径是文件还是文件夹,并输出相应信息。

通过以上示例代码,我们详细介绍了如何使用Python来查看文件夹是否存在,以及如何处理不同情况下的文件夹存在与否。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程