Ausführen von funktionen in editor kommando zeile

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
python48
User
Beiträge: 18
Registriert: Donnerstag 19. März 2015, 14:58

Hallo,

seit kurzem versuche ich mich in die welt von Python einzuarbeiten.
Wo ich jetzt gerade hänge scheint kein allzu schweres thema zu sein, jedoch komme ich da
nach studenlangem suchen und ausprobieren einfach nicht weiter.

sagen wir, ich habe folgenden code in der datei test.py:

Code: Alles auswählen

def led(param1, param2):
    print"INFO: Eingegeben wurden die parameter:", param1, param2
Ich benutze pyCharm und da gibts in diesem editor die Python Console, in die man
seinen code eingeben kann.
Jetzt würde ich in dieser Kommando Zeile gerne meine in der test.py datei definierte Funktion
led(param1, param2) aufrufen, mit parametern meiner wahl.

Wie kann ich dies bewerkstelligen?
Ich würde mich sehr über hilfe freuen! :)

PS: ich benutze Windows7.


Viele Grüße, Python48.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Du müsstest Dein Modul (denn genau das ist eine Python Datei ;-) einfach importieren!

Das geht im einfachsten Falle so:

Code: Alles auswählen

import dein_modul
# und dann
dein_modul.led(_ ,_)
Allerdings weiß ich nicht, in welchem Pfad die Konsole von PyCharm geöffnet wird. Also musst Du ggf. noch navigieren...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wenn die Datei im Ordner für PyCharm-Projekte gespeichert wird - und das sollte der Normalfall sein - dann kann man die Datei direkt im Konsolenfenster importieren. Also der Dateiname ohne das ".py" natürlich.
python48
User
Beiträge: 18
Registriert: Donnerstag 19. März 2015, 14:58

ok, vielen dank schon mal für eure schnelle und nette Hilfe :D
Also eine kürzere variante gibt es nicht, definierte Funktionen im der Kommandozeile aufzurufen oder?
(also immer erst import nötig?)

Sonst klappt das ja schon wunderbar :D
Vielen Dank euch :)

Gibt es keine kürzere variante? :)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@python48
In der Umgebung Deiner Kommandozeile, egal ob via PyCharm, IDLE oder was auch immer, sind neben den built-in Funktionen erstmal keine weiteren bekannt. Woher denn auch? Alles, was Du an Funktionen, Klassen etc. verwenden möchtest, musst Du der Umgebung erstmal bekannt machen. Wenn Du einen Nagel in die Wand schlagen möchtest, dann sollte in Deiner greifbaren Umgebung ein Nagel und ein Hammer vorhanden sein, ansonsten musst Du das erstmal besorgen (importieren). Und selbst die Wand muss erstmal da sein... :mrgreen:

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

python48 hat geschrieben: Also eine kürzere variante gibt es nicht, definierte Funktionen im der Kommandozeile aufzurufen oder?
Naja, evtl. bietet PyCharm ja einen Mechanismus an, der das quasi "im Hintergrund" beim Starten der Shell schon erledigt? :K

Dazu sollte sich aber irgend wie in der Doku zu dieser IDE etwas finden lassen - oder evtl. per google ;-)

Grundsätzlich muss man bei Python Module importieren, um deren Funktionalität zu nutzen. Mit Ausnahme der Standardfunktionen, -typen usw. natürlich, also alles ab Punkt 6.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
python48
User
Beiträge: 18
Registriert: Donnerstag 19. März 2015, 14:58

Ok, vielen Dank für die Hilfe :)

Beste Grüße, python48.
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hyperion hat geschrieben:Naja, evtl. bietet PyCharm ja einen Mechanismus an, der das quasi "im Hintergrund" beim Starten der Shell schon erledigt? :K
Und dann alle definierten Funktionen und Klassen im globalen Namensraum vorhält? Das stelle ich mir ziemlich unpraktisch vor.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

snafu hat geschrieben: Und dann alle definierten Funktionen und Klassen im globalen Namensraum vorhält? Das stelle ich mir ziemlich unpraktisch vor.
Wieso alle? Ginge ja so in der Art: Rechtsklick auf Modul → Shell für *das eine* Modul öffnen, indem der Import automatisch durchgeführt wird.

War nur eine Idee - k.A. ob es so etwas dort gibt!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten