Aufruf Skript in einem anderen Skript

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
maxwer
User
Beiträge: 16
Registriert: Mittwoch 20. Januar 2021, 11:46

Guten Abend, ich möchte ein Skript bzw. mehrereSkripte durch ein anderes Skript aufrufen. Dafür habe ich mich für die Methode "runpy" entschieden. Mir sind "exec" und "subprocess" ebenfalls bekannt. Aber auch damit habe ich keine funktionierende Umsetzung geschafft.
Das Skript das aufgerufen und ausgeführt werden soll:

Code: Alles auswählen

#!/usr/bin/python3
from brownie import SimpleCollectible, accounts, network, config


def main():
    dev = accounts.add(config["wallets"]["from_key"])
    print(network.show_active())
    simple_collectible = SimpleCollectible[len(SimpleCollectible) - 1]
    token_id = simple_collectible.tokenCounter()
    print("The token_id of this token is: " + str(token_id))
    transaction = simple_collectible.createCollectible("none", {"from": dev})
Das Skriptl mit dem ich aufrufe:

Code: Alles auswählen

#!/usr/bin/python3
# coding: utf-8
import runpy


def main():
    runpy.run_path(path_name="scripts\create_collectible.py")
Das Modul deploy_allinone.py" wird zwar fehlerfrei ausgeführt, aber es passiert nichts.
Im Terminal steht nur "Running 'scripts\deploy_allinone.py::main'..." ohne das Funktionen des Skripts create_collectible.py" ausgeführt werden.

Wo habe ich einen Fehler gemacht?
Benutzeravatar
sparrow
User
Beiträge: 4202
Registriert: Freitag 17. April 2009, 10:28

Warum willst du das so machen?
Imporier doch einfach das script und ruf main auf?
maxwer
User
Beiträge: 16
Registriert: Mittwoch 20. Januar 2021, 11:46

Ich möchte mehrere Skripte in einem Skript (insgesamt handelt es sich um 4) aufrufen. Die anderen Skripte haben noch mehr Funktionen als nur main(). Daher würde ich gern das ganze Skript aufrufen.
Benutzeravatar
sparrow
User
Beiträge: 4202
Registriert: Freitag 17. April 2009, 10:28

Den Grund verstehe ich nicht.
Schon in deinem anderen Thread schien durchzuscheinen, dass du möglicherweise noch nicht so ganz verstanden hast, was genau bei einem Import passiert.

Importier das Script und ruf main auf. Dann bist du alle Sorgen los.
maxwer
User
Beiträge: 16
Registriert: Mittwoch 20. Januar 2021, 11:46

wo genau besteht der Unterschied beim importieren von main und der Methode mit runpy?
Sirius3
User
Beiträge: 17767
Registriert: Sonntag 21. Oktober 2012, 17:20

Jetzt verstehe ich woher Du diese ganzen "Skripte" hast: das ist irgend so ein Cryptowärungsquatsch, der mit einem speziellen brownie-Skript gestartet werden muß:

Code: Alles auswählen

brownie run scripts/deploy.py
Du willst also nicht Programmieren lernen und das hat auch nur entfernt mit Python zu tun, sondern Du suchst spezielle Hilfe bei diesem speziellen Paket.

Es wäre gut, wenn Du diese Informationen direkt hier posten würdest, also um was es sich da handelt und mit Hilfe welchen Tutorials Du hier versuchst, was auch immer zu tun, anstatt dass wir hier rumraten müssen. Das verschwendet nur unsere Lebenszeit und hilft Dir nicht wirklich weiter.
maxwer
User
Beiträge: 16
Registriert: Mittwoch 20. Januar 2021, 11:46

Es handelt sich sicherlich nicht nur um irgendeinen "Quatsch".
Inwiefern herumraten? Ist die Antwort abhängig davon für was das nachgefragte eingesetzt wird?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Och ich finde Quatsch eine recht passende Bezeichnung fuer das gesamte Crypto-Oekosystem. Ausser schnell-reich-werden-Energie ist da ja nix zu holen.

Wie dem auch sei, selbstverstaendlich ist es relevant zu wissen, in welcher Umgebung Code ausgefuehrt wird. Sowohl um zu verstehen, warum etwas nicht geht wie erwartet. Als auch um eine informierte Entscheidung darueber zu treffen, ob man demjenigen wirklich helfen will. Denn den meisten Leuten hier ist es schon wichtig zu wissen, woran sie sich da beteiligen. Weil sie das moralisch oder inhaltlich ablehnen.
Antworten