Seite 1 von 1

Pfad auslesen und CallScript

Verfasst: Mittwoch 17. März 2010, 14:12
von walha2006
Hallo,
ich möchte gerne einem Datei lesen (Test.skr)und aus diesem datei den Ordner pfad nach CALLSCRIPT auslesen und aufrufen

mein Test.skr sieht so aus
CALLSCRIPT C:\Projekte\Skripts\Test1.skr
WAIT[10000]
CALLSCRIPT C:\SKRIPTS\Test2.skr
ich habe so probiert aber leider klappt das nicht:

Code: Alles auswählen

import sys
import re
import os



def getSkript(filename , pfad):
    skr = []
    datei = open(name,'r')
    line = datei.readlines
    for line in datei:
        skr.append(line)
    datei.close()
    
    return skr


##MAIN####
Test = getSkript('Test.skr','C:\Python26')
for line in Test:
    if (line.find('CALLSCRIPT') >= 0):
        attributes=re.findall(r"([^(CALLSCRIPT)].*)", line)
        pfad, filename = os.path.split(attributes)
        Test1=getSkript(filename , pfad)
        
können Sie mir helfen?

Verfasst: Mittwoch 17. März 2010, 14:43
von ms4py
Also wenn du schon mit regulären Ausdrücken hantierst, dann kannst du das doch für die gesamte Aufgabenstellung verwenden, indem du re.findall() einsetzt. Du benötigst auch kein str.find, weil du das auch im reg. Ausdruck integrieren kannst.

Noch mal in Kurzfassung die Vorgehensweise:
- Dateiinhalt auslesen
- re.findall über den Inhalt
- alle neuen Skripte verarbeiten

Hinweis: Zeile 10 kann nicht funktionieren, da "name" nicht definiert ist. Bitte poste doch in Zukunft eine Fehlermeldung, wenn eine ausgegeben wird.

Verfasst: Mittwoch 17. März 2010, 14:52
von walha2006
danke
aber wie kann ich dem filename ZB. 'Test1.skr' und dem
pfad'C:\Projekte\Skripts' hier parsen (jeder in eine variable speichern)
ich habe versucht mit os.path aber leider geht das nicht..... :?:

Verfasst: Mittwoch 17. März 2010, 15:01
von Rebecca
Die getSkript-Funktion ist total ueberfluessig. Regular Expressiosn braucht man hier auch nicht unbedingt.

Code: Alles auswählen

with open("test.skr") as f:
    for line in f:
        if line.startswith("CALLSCRIPT"):
            path = line.split(" ", 1)[1].strip()
            print path

Verfasst: Mittwoch 17. März 2010, 15:09
von walha2006
danke ,
und wie bekomme ich dem Path und dem filename auseinander? :shock:
weil ich brauche das um dem Dateien(ZB.Test1.skr und Test2.skr) zu rufen und lesen :shock:

Verfasst: Mittwoch 17. März 2010, 15:15
von Rebecca
Was hat denn an os.path.split nicht funktioniert?

Verfasst: Mittwoch 17. März 2010, 15:31
von walha2006
ja hat geklappt danke danke ,es ist einfach super hier :lol: