关键词

Python os模块常用方法和属性总结

Python os模块常用方法和属性总结

os模块概述

Python提供了os模块,用于处理文件和目录的路径以及常见的系统操作。使用os模块可以方便地进行文件操作、目录操作、进程管理等。下面我们将讲解os模块的常用方法和属性。

os模块常用方法和属性

os.name属性

使用os.name属性获取当前系统的名称。在Unix系统上,返回值为'posix',在Windows系统上,返回值为'nt'。

import os

print(os.name)

输出:

nt

os.sep属性

使用os.sep属性获取当前系统的路径间隔符(Windows为'\',Unix为'/')。

import os

print(os.sep)

输出:

\

os.path.split方法

使用os.path.split方法将路径分割成目录和文件名两部分。如果给定的路径最后一个部分非空,则返回的元组的第二个元素为该部分,否则返回空字符串。

import os

path = 'C:\\Users\\username\\Documents\\example.txt'
dirname, filename = os.path.split(path)

print('目录名:', dirname)
print('文件名:', filename)

输出:

目录名: C:\Users\username\Documents
文件名: example.txt

os.listdir方法

使用os.listdir方法获取指定目录下的所有文件(包含目录)的列表。

import os

dir_path = 'C:\\Users\\username\\Documents'
files = os.listdir(dir_path)

for file in files:
    print(file)

输出:

example.txt
projects

示例说明

示例1:在指定目录下创建新目录

import os

dir_path = 'C:\\Users\\username\\Documents'
new_dir_name = 'newdir'

if not os.path.exists(os.path.join(dir_path, new_dir_name)):
    # 如果目录不存在,则创建
    os.mkdir(os.path.join(dir_path, new_dir_name))
    print('创建目录成功')
else:
    print('目录已存在')

该示例通过os.path.join方法将目录名和父目录路径结合起来,再使用os.mkdir方法创建了一个新目录,如果目录已存在则不进行任何操作。

示例2:递归遍历指定目录下所有文件(不包含目录)

import os

dir_path = 'C:\\Users\\username\\Documents'

def search_files(path):
    """
    递归遍历指定目录下的所有文件(不包含目录)
    """
    files = os.listdir(path)
    for file in files:
        file_path = os.path.join(path, file)
        if os.path.isfile(file_path):
            # 如果是文件,则输出文件路径
            print(file_path)
        else:
            # 如果是目录,则递归遍历
            search_files(file_path)

search_files(dir_path)

该示例定义了一个递归遍历目录的函数search_files,通过os.path.isfile方法判断路径是否为文件,最终输出所有文件的路径。

本文链接:http://task.lmcjl.com/news/15184.html

展开阅读全文