Python:检查目录是否为空
Python是一种广泛使用的通用高级编程语言。它提供了许多功能,其中之一是检查目录是否为空。这可以通过使用os 模块来实现。 Python中的OS 模块提供了与操作系统交互的功能。 OS
属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。 os
和os.path
模块包含许多与文件系统交互的函数。
检查目录是否为空
使用os.listdir()
方法检查目录是否为空。 os 模块的os.listdir()
方法用于获取指定目录下所有文件和目录的列表。
Syntax: os.listdir(path)
Parameters:
path (optional): path of the directory
Return Type: This method returns the list of all files and directories in the specified path. The return type of this method is list.
示例 #1:如果os.listdir()
返回的列表为空,则目录为空,否则为空。下面是实现。
# Python program to check whether
# the directory empty or not
import os
# path of the directory
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
# Getting the list of directories
dir = os.listdir(path)
# Checking if the list is empty or not
if len(dir) == 0:
print("Empty directory")
else:
print("Not empty directory")
输出:
Empty directory
示例 #2:假设上面代码中指定的路径是文本文件的路径或者是无效路径,那么,在这种情况下,上面的代码将引发OSError
。为了克服这个错误,我们可以使用os.path.isfile()
方法和os.path.exists()
方法。下面是实现。
# Python program to check whether
# the directory is empty or not
import os
# Function to Check if the path specified
# specified is a valid directory
def isEmpty(path):
if os.path.exists(path) and not os.path.isfile(path):
# Checking if the directory is empty or not
if not os.listdir(path):
print("Empty directory")
else:
print("Not empty directory")
else:
print("The path is either for a file or not valid")
# path to a file
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil/gfg.txt"
isEmpty(path)
print()
# valid path
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil/"
isEmpty(path)
输出:
The path is either for a file or not valid
Not empty directory