Mine værktøjer
Du er her: Forside diverse filer til download mm. parseTags.py
Handlinger tilknyttet webside

parseTags.py

af adminSidst opdateret 10/06 2008 01:37

Hej har brug for lidt hjælp her hvordan laver jeg et script som henter texten som står mellem #test# og skal kunne udskrive teksten et andet sted altså gemmer den i en variable den skal blive ved med at køre indtil den ikke finder flere tags

Klik her for at hente fil

Størrelse: 2.4 kB - Filtype text/python-source

Indhold af fil-indholdsobjekt

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
"""
# Licence GPL
# se http://support.microsoft.com/kb/276494 der er beskrevet hvordan du 
# opsætter din asp server til at bruge python
"""

txt = """#spam# Jeg har brug #spam# for lidt hjælp her hvordan laver jeg et script
som henter texten som står mellem ?ost?#ham# og?ost? skal ?kan?kunne?kan? udskrive
teksten #ham# et andet sted altså gemmer den i en variable
den skal blive ved med at køre #eggs# indtil #eggs# den ikke finder flere tags
""" 

def parseTags(text=txt, tagChr="#", skriv=True ):
    """
    Parser text og gemmer det som står mellem tags i en dictonary 
    under det navn som der står i tags.
    Input:
      text , den tekst som skal parses for tags.
      tagChar, Det tegn som markerer start og slut på tags navnet.
      skriv,  angiver om det som ikke står i tags skal udskrives.
    Return: De fundne tags med indhold som en dictionary. Se nedenfor,

    Doctest.
    >>> parseTags( skriv=True )
     for lidt hjælp her hvordan laver jeg et script
    som henter texten som står mellem ?ost?  et andet sted altså gemmer den i en variable
    den skal blive ved med at køre   den ikke finder flere tags
    {'eggs': ' indtil ', 'ham': ' og?ost? skal ?kan?kunne?kan? udskrive\\nteksten ', 'spam': ' Jeg har brug '}
    >>> parseTags( tagChr="?", skriv=True )
    #spam# Jeg har brug #spam# for lidt hjælp her hvordan laver jeg et script
    som henter texten som står mellem   skal   udskrive
    teksten #ham# et andet sted altså gemmer den i en variable
    den skal blive ved med at køre #eggs# indtil #eggs# den ikke finder flere tags
    {'ost': '#ham# og', 'kan': 'kunne'}
    """

    tagName = ""
    data = True
    Variables = {}
    i = 0
    for Data in txt.split( tagChr ):
        if i % 2 : # ulige
            # ved ulige split vil Data være navnet i på tag
            tagName = Data
        else: # lige    
            # ved lige split vil Data være tekst
            if data:
                # hver anden gang det er lige er der tale
                # om data som blot skal udskrives
                if skriv and Data :
                    print Data, 
            else:
                Variables[ tagName ] = Data
                tagName = ""
            data = not data
        i += 1
    return Variables

def _test():
    import doctest
    doctest.testmod()


if __name__ == "__main__":
    _test()

« august 2018 »
søn man tir ons tor fre lør
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Chat Rooms
Dyrk motion

Trim ballerup

 

Powered by Plone, the Open Source Content Management System