scripting.filesystemobject

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
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

ich bin anfänger, und versuche alles, was ich bisher in vb gemacht habe, auf python zu migrieren.
ich nutze ironpython in visualstudio community2015.

windows forms habe ich zum laufen gekriegt, aber der scripting host ... ;-((

ich schaff es nicht , das win32 - modul einzubinden.

für jeden tipp dankbar ...
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

In den Beispielen sieht das so aus, mehr weiß ich nicht. Es gibt ein Code-Book, zwar nicht ganz neu, von dem sich aber (alle?) Beispiel-Codes herunterladen lassen. Dieses Buch "IronPython in Action" mit dem Code war da auch noch irgendwo verlinkt und sollte leicht zu finden sein.

Code: Alles auswählen

from Microsoft.Win32 import Registry
from Microsoft.Win32 import RegistryKey
http://ironpython.net/documentation/dotnet/dotnet.html
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

danke für den buchtipp.
leider wurde ich da auch nicht fündig. (suchfunktion)

ich möchte sowas : set fso = createobject("scripting.filesystemobject") in ironpython machen, und weiß nicht obs da überhaupt unterstützung gibt, und wenn ja, welches modul das richtige ist. das win32com kann ich nicht einbinden.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Na ja, Dein Beispiel ist halt auf .NET ausgerichtet und ohne ein Buch für den Einstieg würde ich nicht mit IronPython beginnen oder zumindest für den Anfang nur Beispiele testen, die geboten werden.

Möglicherweise hilft Dir das bereits ein wenig weiter:

https://www.codeproject.com/Articles/60 ... IronPython
BlackJack

@reinerdoll: Würde man für das was Du vorhast in C# beispielsweise denn `Scripting.FileSystemObject` verwenden?

Das `win32`- oder `win32com`-Modul würde ich bei IronPython jedenfalls nicht für sinnvoll erachten, denn an die entsprechende Funktionalität wird man ja sicher schon über die .NET-Bibliothek kommen.

Ansonsten hat Melewo ja IronPython-Dokumentation verlinkt wo etwas über importe steht. Unter anderem gleich am Anfang das man die Assemblies über die Funktionen im `clr`-Modul bekannt machen muss bevor man sie importieren kann.
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

ich kann halt in vb sehr übersichtlich im filesystem rumbasteln : https://msdn.microsoft.com/de-de/librar ... s.71).aspx

und auch actice dir adminitrieren : https://technet.microsoft.com/de-de/lib ... 56524.aspx

wenn man sich da mal dran gewöhnt hat, läuft das prima.

mein gedanke war nur, vb durch python als "modernere" programmiersprache zu ersetzen, daß das in der gleichen ide (visual studio) geht, wäre praktisch. wsh und adsi sind offenbar veraltet ?
BlackJack

@reinerdoll: Du musst halt dafür sorgen das IronPython das entsprechende Assembly kennt bevor Du das Objekt aus `Scripting` importieren kannst. Das musst Du in VB ja auch machen in dem Du die Komponente „Microsoft Scripting Runtime“ dem Projekt hinzufügst. Das muss man bei IronPython offenbar im Code machen.
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

Nach einigem Gebastel und schließlich Nachdenken (wie immer : falsche Reihenfolge ;-) hab ichs :

activePython3 geladen, installiert, dann eine Python-Umgebung damit erzeugt, und schon gehts :

import win32com.client
fso = win32com.client.Dispatch("Scripting.FileSystemObject")
fso.CreateTextFile("e:\\test3.fuck")

----------------------------------------------------

Nächstes Problem (jetzt wohl eher Syntax ?) :

Ich habe eine in VB geschrieben Klassenbibliothek : "lib.dll"
In VB (Visual Studio) lautet der Aufruf : imports lib.dll, nachdem ich die dll in den Verweisen im Projekt hinzugefügt habe.

-> das geht in activePython3 aber nicht, ich kann den VErweis nicht hinzufügen.
BlackJack

VB oder VB.NET? Wenn VB.NET dann nimm IronPython. Und dann ist das das gleiche Problem wie das FileSystemObject, denn auch dort müsstest Du ja laut Anleitung von Microsoft in VisualStudio die Komponente „Microsoft Scripting Runtime“ dem Projekt hinzufügen wenn es denn VB oder C# wäre. Und wie man das in Python macht, wird soweit ich das sehe immer noch in der Dokumentation gesagt die Melewo verlinkt hat.

Ich verstehe aber immer noch nicht so wirklich den Sinn dahinter. Es sieht so aus alles sollte am besten alles so wie vorher funktionieren, aber mit Python-Syntax? Und das nur wegen einer ”moderneren” Sprache? VB.NET ist doch im Grunde bloss eine andere Syntax für C# um die ganzen alten VB-Hasen nicht zu verschrecken. Wenn Du eine modernere Sprache willst, dann nimm doch einfach C#. Das dürfte die .NET-Sprache mit der besten Unterstützung sein. Für viele andere Sprachen wirst Du Dich näher mit dem beschäftigen müssen was die IDE vor Dir ”versteckt”. Zum Beispiel was passiert wenn Du im Projekt eine Komponente hinzufügst. Das muss man bei IronPython dann beispielsweise im Programm zur Laufzeit machen bevor man etwas von der Komponente importieren kann.
Antworten