✏️ 编辑:dumb.cpython-39.opt-1.pyc
路径:
/usr/lib64/python3.9/dbm/__pycache__/dumb.cpython-39.opt-1.pyc
大小:7.73 KB · 修改:2026-08-12 15:51:23 · 权限:0644 · 只读(保存会失败)
← 返回目录
👁 查看
⬇ 下载
检测到二进制内容,直接保存可能损坏文件。请改用「上传替换」。
a �i- � @ sV d Z ddlZddlZddlZddlZddgZ dZ eZG dd� dej j�Zdd d�ZdS )a� A dumb and slow but simple dbm clone. For database spam, spam.dir contains the index (a text file), spam.bak *may* contain a backup of the index (also a text file), while spam.dat contains the data (a binary file). XXX TO DO: - seems to contain a bug when updating... - reclaim free space (currently, space once occupied by deleted or expanded items is never reused) - support concurrent access (currently, if two processes take turns making updates, they can mess up the index) - support efficient access to large databases (currently, the whole index is read when the database is opened, and some updates rewrite the whole index) - support opening for read-only (flag = 'm') � N�error�openi c @ s� e Zd ZeZeZd+dd�Zdd� Zdd� Zdd � ZeZ d d� Z dd � Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� ZeZd d!� Zd"d#� ZeZd$d%� Zd&d'� Zd(d)� Zd*S ),� _Database�cc C sL || _ |dk| _|d | _|d | _|d | _d | _| �|� | �|� d S )N�rz.dirz.datz.bak)�_mode� _readonly�_dirfile�_datfile�_bakfile�_index�_create�_update)�selfZfilebasename�mode�flag� r � /usr/lib64/python3.9/dbm/dumb.py�__init__0 s z_Database.__init__c C s� |dkr@| j | j| jfD ]&}zt�|� W q ty< Y q0 qztj| j ddd�}W nZ ty� |dvrn� tj| j ddd��}| �| j � W d � n1 s�0 Y Y n 0 |� � d S )N�nr �Latin-1��encoding�r r �w) r r r �_os�remove�OSError�_ior �_chmod�close)r r �filename�fr r r r I s 0z_Database._createc C s� d| _ i | _ztj| jddd�}W n" tyD |dvr:� d| _ Y nZ0 |�D |D ].}|�� }t�|�\}}|� d�}|| j|<