Runtime v2.81 · Na-update noong Set 30, 2026

Storage

Persistent key/value Storage para sa kasalukuyang macro.

Syntax

Storage

Hindi direktang makakagawa ng instance ng class na ito.

Mga parameter

Wala

Ibinabalik na halaga

—

Pagkilos / epekto

Persistent key/value Storage para sa kasalukuyang macro. Ang normal na variables ay magkakasama lamang sa magkakasunod na PYTHON_CODE action sa iisang flow, kabilang ang action sa GROUP; hiwalay ang variables ng mga parallel flow. Iisa ang mga Storage key sa lahat ng flow, kaya gamitin ito kapag kailangang manatili ang value hanggang sa susunod na macro run, hindi bilang inter-process messaging. Awtomatikong sine-save ang sulat matapos ang 2 segundo na walang bagong sulat at kino-commit muli pagkatapos matapos ang buong macro Run at lahat ng background flow.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Mag-save ng mga value sa magkakahiwalay na macro run
run_count = Storage.get("run_count", 0)
run_count = run_count + 1
Storage.set("run_count", run_count)
Storage.set("last_point", Point(500, 900))
MacroPanel.notify("Run #" + str(run_count))

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Mga method

8 method

Storage.get

Magbasa ng isang persisted value sa pamamagitan ng key at opsyonal na bumalik sa default kapag nawawala ang key.

Syntax

Storage.get(key, default=None)

Mga parameter

PangalanPaglalarawan
keyAny
Key to look up.
Kailangan · Ayon sa posisyon o pangalan
Walang default
defaultAny?
Fallback value returned when the key is missing.
Opsyonal · Ayon sa posisyon o pangalan
Default: None

Ibinabalik na halaga

Any? — Ang nakaimbak na halaga para sa key na iyon, o ang ibinigay na default.

Pagkilos / epekto

Magbasa ng isang persisted value sa pamamagitan ng key at opsyonal na bumalik sa default kapag nawawala ang key.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# I-restore ang naka-save na counter gamit ang fallback default
run_count = Storage.get("run_count", 0)

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.set

Sumulat o palitan ang isang entry sa patuloy na storage.

Syntax

Storage.set(key, value)

Mga parameter

PangalanPaglalarawan
keyAny
Key to write.
Kailangan · Ayon sa posisyon o pangalan
Walang default
valueAny?
Value to persist for that key.
Kailangan · Ayon sa posisyon o pangalan
Walang default

Ibinabalik na halaga

None — Walang direktang return value. Ina-update agad ang Storage, awtomatikong sine-save matapos ang 2 segundo na walang bagong sulat, at kino-commit muli pagkatapos matapos ang buong macro Run at lahat ng background flow.

Pagkilos / epekto

Sumulat o palitan ang isang entry sa patuloy na storage. Ang mga sinusuportahang value ay nagpapanatili ng mga script-friendly na uri gaya ng Number, String, Boolean, Point, Region, list, tuple, dict, set, at None, kasama ang mga nested na value ng koleksyon.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# I-save ang mga value para sa susunod na macro run
Storage.set("run_count", 3)
Storage.set("last_point", Point(500, 900))

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.remove

Alisin ang isang patuloy na entry at ibalik ang lumang halaga.

Syntax

Storage.remove(key)

Mga parameter

PangalanPaglalarawan
keyAny
Key to remove.
Kailangan · Ayon sa posisyon o pangalan
Walang default

Ibinabalik na halaga

Any? — Ang inalis na halaga, o Wala kapag nawawala ang susi.

Pagkilos / epekto

Alisin ang isang patuloy na entry at ibalik ang lumang halaga.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Alisin ang naka-save na flag kapag hindi na kailangan
old_flag = Storage.remove("boost_enabled")

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.contains

Suriin kung ang isang persisted key ay kasalukuyang umiiral.

Syntax

Storage.contains(key)

Mga parameter

PangalanPaglalarawan
keyAny
Key to test.
Kailangan · Ayon sa posisyon o pangalan
Walang default

Ibinabalik na halaga

Boolean — `True` kapag umiiral ang key, kung hindi man ay `False`.

Pagkilos / epekto

Suriin kung ang isang persisted key ay kasalukuyang umiiral.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Bantayan ang logic batay sa naka-save na state
if Storage.contains("last_point"):
    MacroPanel.notify("Saved point is ready")

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.keys

Kunin ang lahat ng patuloy na key bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.

Syntax

Storage.keys()

Mga parameter

Wala

Ibinabalik na halaga

list — Isang listahan ng mga patuloy na key.

Pagkilos / epekto

Kunin ang lahat ng patuloy na key bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Suriin kung aling mga value ang naka-save para sa macro na ito
saved_keys = Storage.keys()

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.values

Kunin ang lahat ng mga persisted value bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.

Syntax

Storage.values()

Mga parameter

Wala

Ibinabalik na halaga

list — Isang listahan ng mga patuloy na halaga.

Pagkilos / epekto

Kunin ang lahat ng mga persisted value bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Basahin ang lahat ng naka-save na value para sa mabilisang pagsusuri
saved_values = Storage.values()

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.clear

Alisin ang bawat nagpapatuloy na entry para sa kasalukuyang macro.

Syntax

Storage.clear()

Mga parameter

Wala

Ibinabalik na halaga

None — Walang direktang pagbabalik na halaga. Ang imbakan ay nagiging walang laman.

Pagkilos / epekto

Alisin ang bawat nagpapatuloy na entry para sa kasalukuyang macro.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# I-reset ang lahat ng naka-save na Storage value
Storage.clear()

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API

Storage.to_dict

Ibalik ang kasalukuyang Storage bilang live dict na ginagamit ng bawat flow sa Run na ito.

Syntax

Storage.to_dict()

Mga parameter

Wala

Ibinabalik na halaga

dict — Isang live na dict view ng kasalukuyang patuloy na mga entry sa storage.

Pagkilos / epekto

Ibalik ang kasalukuyang Storage bilang live dict na ginagamit ng bawat flow sa Run na ito. Ang direktang pag-edit sa entry ng ibinalik na dict ay sasali sa autosave flow, at kino-commit ang pinakabagong live snapshot pagkatapos matapos ang buong macro Run at lahat ng background flow.

Pagpapatakbo

  • Naghihintay matapos: May kondisyon
  • Kaligtasan ng sabayang paggamit: Sunod-sunod
  • Sabayang pagpapatakbo: May kondisyon

Magkakasama sa isang Storage session ang mga flow sa iisang Run. Naka-lock ang bawat operasyon at sinusubaybayang nested mutation. Hindi atomic transaction ang get na sinusundan ng set; gumamit ng iisang writer kung nakasalalay ang update sa naunang pagbasa.

Halimbawa

# Basahin at i-update ang buong naka-save na storage dictionary
state = Storage.to_dict()
state["bonus"] = 5
MacroPanel.notify(str(state))

Mga error / limitasyon

Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.

Mga kaugnay na API