[PYTHON] Come utilizzare i files?

di il
5 risposte

[PYTHON] Come utilizzare i files?

Mi spiegate per favore come si utilizzano i file in formato python?Ho provato ad esegurli ma non succede niente...Devo utlizzare questo programma:

import os, string, sys
from optparse import OptionParser
from xml.sax import saxutils, make_parser, handler
from datetime import datetime


class WeightsReader(handler.ContentHandler):
"""Reads the dump file"""

def __init__(self):
self._id = ''
self._edgeValues = {}
self._intervalBegins = []
self._intervalEnds = []

def startElement(self, name, attrs):
if name == 'interval':
self._beginTime = int(attrs['begin'])
self._intervalBegins.append(self._beginTime)
self._intervalEnds.append(int(attrs['end']))
self._edgeValues[self._beginTime] = {}
if name == 'edge':
self._id = attrs['id']
self._edgeValues[self._beginTime][self._id] = {}
for attr in attrs.getQNames():
if attr!="id":
self._edgeValues[self._beginTime][self._id][attr] = float(attrs[attr])

def sub(self, weights, exclude):
for t in self._edgeValues:
for e in self._edgeValues[t]:
for a in self._edgeValues[t][e]:
if a not in exclude:
self._edgeValues[t][e][a] = (self._edgeValues[t][e][a] + weights._edgeValues[t][e][a]) / 2.

def write(self, options):
fd = open(options.output, "w")
fd.write("<?xml version=\"1.0\"?>\n\n")
fd.write("<!-- generated on %s by netdumpdiv.py \n" % datetime.now())
fd.write(" -1 %s\n" % options.dump1)
fd.write(" -2 %s\n" % options.dump2)
fd.write(" -o %s\n" % options.output)
fd.write("-->\n\n")
fd.write("<netstats>\n")
for i in range(0, len(self._intervalBegins)):
fd.write(" <interval begin=\"%s\" end=\"%s\">\n" % (self._intervalBegins, self._intervalEnds))
t = self._intervalBegins
for e in self._edgeValues[t]:
fd.write(" <edge id=\"%s\"" % e)
for a in self._edgeValues[t][e]:
fd.write(" %s=\"%s\"" % (a, self._edgeValues[t][e][a]))
fd.write("/>\n")
fd.write(" </interval>\n")
fd.write("</netstats>\n")


# initialise
optParser = OptionParser()
optParser.add_option("-v", "--verbose", action="store_true", dest="verbose",
default=False, help="tell me what you are doing")
# i/o
optParser.add_option("-1", "--dump1", dest="dump1",
help="First dump (mandatory)", metavar="FILE")
optParser.add_option("-2", "--dump2", dest="dump2",
help="Second dump (mandatory)", metavar="FILE")
optParser.add_option("-o", "--output", dest="output",
help="Name for the output", metavar="FILE")
optParser.add_option("-e", "--exclude", dest="exclude",
help="Exclude these values from being changed (stay as in 1)", metavar="FILE")
# parse options
(options, args) = optParser.parse_args()


parser = make_parser()
# read dump1
if options.verbose:
print "Reading dump1..."
weights1 = WeightsReader()
parser.setContentHandler(weights1)
parser.parse(options.dump1)
# read dump2
if options.verbose:
print "Reading dump2..."
weights2 = WeightsReader()
parser.setContentHandler(weights2)
parser.parse(options.dump2)
# process
if options.verbose:
print "Computing mean..."
exclude = []
if options.exclude:
exclude = options.exclude.split(",")
weights1.mean(weights2, exclude)
# save
if options.verbose:
print "Writing..."
weights1.write(options)



grazie a tutti!

5 Risposte

  • Re: [PYTHON] Come utilizzare i files?

    Ciao, devi installare l'interprete Python, scaricabile dal sito ufficiale del linguaggio.
  • Re: [PYTHON] Come utilizzare i files?

    Ho scaricato python 3.0.1, ed ora?Quando premo "apri" appare una finestra nera che si richiude automaticamente dopo pochi sencondi...Se facci apri con IDLE mi riappare il codice...Che devo fare???Grazie
  • Re: [PYTHON] Come utilizzare i files?

    Per eseguire il codice che compare nella finestra di IDLE basta premere F5.

    Altrimenti puoi aprire una finestra dei comandi e digitare qualcosa del tipo
    
    c:\Python30\python.exe PERCORSO_DEL_FILE_DA_ESEGUIRE
    
  • Re: [PYTHON] Come utilizzare i files?

    Grazie Stan,
    ho capito come funziona, anche se il mio esempio non parte...Credi che dovrei fare riferimento a qualche altro file ed inserire il percorso dove c'è virgolettato di verde?
    Mi dice Error Sintax...
  • Re: [PYTHON] Come utilizzare i files?

    Penso possa dipendere dal fatto che hai installato la versione 3.0.1 che non è totalmente compatibile con la più diffusa e usata 2.6.2.

    Hai secondo me due possibilità: correggere tutti gli errori di sintassi (tipo gli argomenti delle print vanno scritti tra parentesi () in Python 3000), oppure disinstallare la 3.0.1 e installare l'altra. Personalmente opterei per la seconda.
Devi accedere o registrarti per scrivere nel forum
5 risposte