ファイル操作

ファイルの拡張子を取得する

import os

def get_file_extension(file_path):
    _, file_extension = os.path.splitext(file_path)
    return file_extension

ディレクトリ内のファイルをリストする

import os

def list_files(directory):
    return [file for file in os.listdir(directory) if os.path.isfile(os.path.join(directory, file))]

ファイル名とディレクトリを結合する

import os

def join_path(directory, filename):
    return os.path.join(directory, filename)

ファイルが存在するかチェックする

import os

def file_exists(file_path):
    return os.path.isfile(file_path)

ディレクトリが存在するかチェックする

import os

def directory_exists(directory_path):
    return os.path.isdir(directory_path)

現在の作業ディレクトリを取得

import os

def get_current_directory():
    return os.getcwd()

ディレクトリを作成

def create_directory(path):
    if not os.path.exists(path):
        os.makedirs(path)

ファイル/ディレクトリの存在を確認

def exists(path):
    return os.path.exists(path)

ファイルを削除

def list_directory_contents(directory):
    return os.listdir(directory)

ファイルの名前を変更または移動

def rename_or_move_file(current_path, new_path):
    os.rename(current_path, new_path)

ディレクトリを再帰的にリストする

import os

def list_directory_recursively(directory):
    paths = []
    for root, dirs, files in os.walk(directory):
        for name in files:
            paths.append(os.path.join(root, name))
        for name in dirs:
            paths.append(os.path.join(root, name))
    return paths

ファイルのサイズを取得

def get_file_size(file_path):
    return os.path.getsize(file_path)

ファイル/ディレクトリの最終アクセス時刻を取得

def get_last_modification_time(path):
    return os.path.getmtime(path)

ファイル/ディレクトリのメタデータを変更する

import os
import time

def change_file_metadata(path, access_time, modification_time):
    os.utime(path, (access_time, modification_time))

実行可能ファイルのパスを検索

def find_executable_path(filename):
    for path in os.environ["PATH"].split(os.pathsep):
        full_path = os.path.join(path, filename)
        if os.path.isfile(full_path) and os.access(full_path, os.X_OK):
            return full_path
    return None

空のディレクトリを安全に削除

def remove_empty_directory(directory_path):
    try:
        os.rmdir(directory_path)
        return True
    except OSError:
        return False

ディレクトリのコピーを作成

import shutil

def copy_directory(source_directory, target_directory):
    shutil.copytree(source_directory, target_directory)

ファイルまたはディレクトリのパーミッションを変更

def change_permissions(path, mode):
    os.chmod(path, mode)

ファイルやディレクトリの所有者を変更

def change_owner(path, uid, gid):
    os.chown(path, uid, gid)

シンボリックリンクを作成

def create_symbolic_link(source, target):
    os.symlink(source, target)

パスから絶対パスを取得

def get_absolute_path(path):
    return os.path.abspath(path)

ディレクトリのサイズを計算

def get_directory_size(directory):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(directory):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            if os.path.exists(fp):
                total_size += os.path.getsize(fp)
    return total_size