📜  在Python中列出目录和文件(1)

📅  最后修改于: 2023-12-03 15:37:38.002000             🧑  作者: Mango

在Python中列出目录和文件

在Python中,可以使用OS模块来列出目录和文件。OS模块提供了许多文件和目录处理的函数,可以轻松地列出目录和文件。

列出目录和文件的代码示例
import os

# 列出指定目录下的所有文件和目录
path = '/path/to/directory'
with os.scandir(path) as entries:
    for entry in entries:
        # 如果是目录
        if entry.is_dir():
            print('Directory:', entry.name)
        # 如果是文件
        elif entry.is_file():
            print('File:', entry.name)
解释说明
  1. 导入OS模块。
  2. 使用os.scandir()函数列出指定目录下的所有文件和目录,返回一个迭代器。
  3. 使用with语句可以自动关闭迭代器。
  4. 在迭代器中使用entry.is_dir()entry.is_file()方法判断是目录还是文件,然后打印出来。
获取绝对路径

有时候需要获取文件或目录的绝对路径,可以使用os.path模块。

import os

# 列出指定目录下的所有文件和目录,并获取绝对路径
path = '/path/to/directory'
with os.scandir(path) as entries:
    for entry in entries:
        # 如果是目录
        if entry.is_dir():
            print('Directory:', os.path.abspath(entry.path))
        # 如果是文件
        elif entry.is_file():
            print('File:', os.path.abspath(entry.path))
解释说明
  1. 导入OS模块。
  2. 使用os.scandir()函数列出指定目录下的所有文件和目录,返回一个迭代器。
  3. 使用with语句可以自动关闭迭代器。
  4. 在迭代器中使用entry.is_dir()entry.is_file()方法判断是目录还是文件。
  5. 使用entry.path属性可以获取相对路径。
  6. 使用os.path.abspath()函数可以获取绝对路径,然后打印出来。
总结

在Python中,使用OS模块可以轻松地列出目录和文件。可以使用os.scandir()函数列出指定目录下的所有文件和目录,可以使用entry.is_dir()entry.is_file()方法判断是目录还是文件,可以使用os.path.abspath()函数获取绝对路径。