Simpan di tempat

Penulis:FawkesPan, Tarikh: 2020-04-22 18:10:56
Tag:AlatPython

Apa?

FMZ alat penyederhanaan panggilan simpanan tempatan Untuk simpanan tempatan, sila lawatiDokumen API FMZ

Apa gunanya?

Mempermudah cara memanggil ke dalam simpanan tempatan FMZ, lebih elegan, tanpa perlu mengetik semula_G()Tidak.

Cara Menggunakan

Mengimport templat

Salin semula templat ini ke perpustakaan dasar anda dan pilih templat ini dalam dasar alat yang anda akan gunakan.

Dalam kod strategi

Buat objek pada permulaan strategi dengan kod berikut:

PS = ext.PersistentStorage()

Perbaiki Objek iniPSIa boleh digunakan sebagai kamus Python biasa, tetapiHanya menyimpan kandungan yang boleh diurutkan dalam JSON

Mengenai perpustakaan ini

Menggunakan WTFPL Do What the Fuck You Want to Public License


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# encoding: utf-8
#
#  Persistent Storage for FMZ
#
# Copyright 2020 FawkesPan
# Contact : i@fawkex.me / Telegram@FawkesPan
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
#                    Version 2, December 2004 
#
# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> 
#
# Everyone is permitted to copy and distribute verbatim or modified 
# copies of this license document, and changing it is allowed as long 
# as the name is changed. 
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
#   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 
#
#  0. You just DO WHAT THE FUCK YOU WANT TO.
#

class PersistentStorage:
    
    def __init__(self):
        keys = _G('__keys__')
        if isinstance(keys, list):
            self.__keys__ = keys
        else:
            self.__keys__ = []
            self.__setitem__('__keys__', self.__keys__)
        return
    
    def _add_key(self, key):
        if key == '__keys__':
            return
        self.__keys__.append(key)
        self.__setitem__('__keys__', self.__keys__)
        return
        
    def _del_key(self, key):
        if key == '__keys__':
            return
        if key in self.__keys__:
            del self.__keys__[self.__keys__.index(key)]
        self.__setitem__('__keys__', self.__keys__)
        return
    
    def __setitem__(self, key, value):
        _G(key, value)
        self._add_key(key)
        return
    
    def __delitem__(self, key):
        _G(key, None)
        self._del_key(key)
        return
    
    def __getitem__(self, key):
        return _G(key)

    def keys(self):
        return self.__keys__
        

ext.PersistentStorage = PersistentStorage

Berkaitan

Lebih lanjut

Awan ringanYang ini lebih baik jika ia adalah JS........................

congcong009DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE (Lisensi awam) "Saya tidak tahu apa yang berlaku di sini, tetapi saya tidak tahu apa yang berlaku di sini", katanya.