moin
Ich hab mir zu Lernzwecken einen Server geschrieben, bei welchem ein
Client eine beliebige Datei anfordern kann und der Server sendet diese
dann sofern vorhanden.
Hier erstmal der Quelltext des Servers zum Senden der Datei:
file = open(f_path, 'rb')
while 1:
data = file.read(1024)
if not data: break
self.connection.send(data)
Und hier der Quelltext des Clienten zum empfangen:
recvBytes = 0
while file_size > recvBytes:
data = sockobj.recv(1024)
file.write(data)
…
[View More] recvBytes += len(data)
print file_size, ' - ', recvBytes
file_size wird vorher vom Server uebertragen und entspricht natuerlich
der Dateigröße
Lokal funktioniert das auch, nur wenn Server und Client auf
unterschiedlichen Rechnern laufen, bekomm ich vom Clienten folgende
Ausgabe:
[...]
17684 - 14336
17684 - 15360
17684 - 16384
17684 - 16669
Dann haengt der Client. Wenn ich den Clienten beende, ist die
uebertragene Datei genau diese 16669 Bytes groß.
Der Server dagegen beendet ganz normal die Uebertragung und wartet auf
die naechste Anforderung.
Bei anderen Dateien sieht das aehnlich aus, es fehlen anscheinend immer
etwas weniger als 1024 Bytes.
Vielen Dank fuer eure Hilfe
boesi
--
Ein Wunder muss heute schon ganz schoen #1671 : icq-intern
wundervoll sein um ein Wunder zu sein, #73628288 : icq-extern
sonst wuerde man sich ja gar nicht mehr wundern boesi111 : aim
.-==Prof. Dr. Harald Lesch==-. i171 : reallife
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
[View Less]
Hi Folks,
i just started to adapt some I2C routines from Flagship to Python.
I allready succeded in porting the low-level-routines accessing the
parallel port. But now i also changed the electronics, so that my
i2c-bus is connected to the usb-port of my machine. What i'am looking
for now, is a way to access the usb-subsystem from python. i know there
is a library called libusb for c , wich deals with the
usb-kernel-modules, but unfortunatly i didn't found a wrapper around
this library, …
[View More]wich allows me to do the same from within python. I just
was thinking about to do the wrapper myself using SWIG, but i also still
hope, that there is someone outside, who played allready with usb and
python arround.
great thanks in advance for some tips and hints
Marco
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
[View Less]
Unter http://www.warweg.com/python/ habe ich eine Musterdatei
abgestellt, wie sie von HOST-Rechnern kommt.
ÄÜÖß sind enthalten. Dies führt teilweise zu Verschiebungen im Satzaufbau.
Wie kann ich das vermeiden?
MfG Werner Warweg
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Am Freitag, 2. April 2004 12:05 schrieben Sie:
> On Juergen Schulz wrote:
> > Hi to *,
> >
> > Ich Arbiet seit kurzem mit Python. Doch leider kommt es bei mir zu
> > einem zustand in meinem Script, dessen ursache ich nicht vollständig
> > analysieren kann. Mir ist es gelungen das Problem einzugrenzen.
> >
> > Python Version:
> >
> > Python 2.3.3 (#2, Feb 24 2004, 09:29:20)
> > [GCC 3.3.3 (Debian)] on linux2
> >
> >
> …
[View More]> Folgender Code:
> >
> > import os,thread
> >
> > thread.start_new_thread(os.system,("rsync -avHS --stats --delete
> > --force --m
> >
> > odify-window=1 ~/Desktop ~/back",))
> >
> > Ergibt folgenen Prozesstree:
> >
> > -bash,10185
> > `-python,15729
> > `-python,17802
> > `-python,17803
> > `-rsync,17805 -avHS --stats --delete --force .....
> > `-rsync,17808 -avHS --stats --delete --force .....
> > `-rsync,17817 -avHS --stats --delete --force ....
> >
> > Dieser zustand bleibt dann erhalten bis zum kill des Prozesses.
> > Das Problem ist das selbe mit os.popen os.spawnv. :(
>
> Wie ist das zu interpretieren? Du hast durch den obigen Aufruf drei
> rsync Prozesse? Ich kenne mich mit rsync leider nicht im Detail aus
> -- macht rsync das vielleicht von sich aus? Wie siehts denn aus, wenn du
> mal etwas "einfaches" startest (mein erster Versuch war "xterm")?
>
> Gruß,
> Matthias
Hi *,
Hallo Matthias,
Habe xterm,cp,find etc ausprobiert und damit geht es. :(
Danach hatte ich die Idee das es an den Kindsprozessen liegt, doch leider kann
ich es darauf auch nicht fest machen da,
thread.start_new_thread(os.system,(r"find Documantation | cpio -pvdma
~/back",))
auch Kinder erzeugt innerhalb des Thread's.
Im ganzen brauche ich das rsync und einen mount befehl damit das Programm
seine Funktion erfüllt.
Der Prozesstree, soll denn aufruf vom thread 17803 verdeutlichen.
Danke !
Grüße,
Jürgen
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
[View Less]
Hi to *,
Ich Arbiet seit kurzem mit Python. Doch leider kommt es bei mir zu einem
zustand in meinem Script, dessen ursache ich nicht vollständig analysieren
kann. Mir ist es gelungen das Problem einzugrenzen.
Python Version:
Python 2.3.3 (#2, Feb 24 2004, 09:29:20)
[GCC 3.3.3 (Debian)] on linux2
Folgender Code:
import os,thread
thread.start_new_thread(os.system,("rsync -avHS --stats --delete --force --m
odify-window=1 ~/…
[View More]Desktop ~/back",))
Ergibt folgenen Prozesstree:
-bash,10185
`-python,15729
`-python,17802
`-python,17803
`-rsync,17805 -avHS --stats --delete --force .....
`-rsync,17808 -avHS --stats --delete --force .....
`-rsync,17817 -avHS --stats --delete --force ....
Dieser zustand bleibt dann erhalten bis zum kill des Prozesses.
Das Problem ist das selbe mit os.popen os.spawnv. :(
Der gleiche Code funktioniert bei Python 2.1 bei 2.2&2.3 geht er nicht.
Hat jemand eine Idee ??
Mit freundlichen Grüßen,
Jürgen
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
[View Less]
Karl Pflästerer schrieb:
>>Ich wäre froh, gäbe es schon mal ein Musterprogramm, wo einige Ansätze
>>realisiert sind.
>
>
> Wenn du genau beschreibst, was du willst, wird sich da schon was finden.
>
>>vorab: ich habe nur etwas Wissen in Basic, Cobol und RPG
>
>
> Du kannst programmieren: das reicht.
naja.. nicht wirklich! Für Filter reicht es und anderes per try and
error, aber es soll besser werden!
>
>>Problem:
>>Ich suche eine Mö…
[View More]glichkeit eine Datei mit Sätzen unterschiedlichen
>>Inhaltes zu lesen, je nach Inhalt in 3 verschiedene Dateien auszugeben
>>und in eine CSV-Datei auszugeben.
>>Hintergrund:
>>Ich erhalte von unserem Rechenzentrum eine Textdatei mit festem
>>Satzaufbau, z.B."Fb82130.dav ". (82130 ist die Mandantennummer).
>>In der Datei sind verschiedene Satzarten:
>>Wenn Satz Stelle 1-2 = 55, dann Konto mit Saldo
>>Wenn Satz Stelle 1-2 = 14, dann Buchung wie kann ich das erreichen,
>
> Wie sind denn die einzelnen Sätze vonaeinader getrennt? Ich nehme an
> newline und du hast dies nur in deiner E-Mail wegen der Zeilenlänge so
> nicht dargestellt?
Die Sätze sind 80 Byte lang und enden mit carriage-return/line feed
(CRLF,0d0a)
>
>
>>Firmenstammsatz Beispiel:
>>5082130 7
>>5182130120001400088200881007620076100171001700017200
kann erst einmal überlesen werden.
>>Kontenstammsatz Beispiel:
>>558213011000 00 DEUTSCHE BANK..... 00003155456 B
>
>
>>Satzaufbau Beispiel:
>>1 - 2 Satzart
>>3 - 7 Mandantennummer (ergibt die Dateinummer: FBnnnnn.DAV)
>>8 - 12 Konto
>>21 - 65 Kontotext
>>66 - 76 Betrag Anfang
>>79 - 79 Bilanzmerkmal (B=Bilanz)
>>... anderes lasse ich mal weg
>
>
> Könntest du dies etwas anders schreiben (das macht es Helfern leichter)
> z. B. so (du beginnst mit 1 zu zählen):
1 2 3 4 5 6
7 8
> 12345678901234567890123456789012345678901234567890123456789012345678901234567890
aabbbbbcccccdddddeefggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhiijk
> und hierunter die Beispielfelder.
meintest Du das so?
Dann ist a = Satzart n
b = Mandant n
c = Kontonummer n
d = Unterkonto n
e = Filiale a
f = blanc
g = Text a Kontobezeichnung
h = Betrag n,2 (num. 2 Nachkommastellen)
i = Sortierkennzeichen a
j = Bilanzkennzeichen a
k = Sperrkennzeichen a
(a = alpha, n = numerisch)
weitere Satzarten kann ich später beschreiben. Ich benötige eigentlich
erst einmal einen Ansatz, wie solch ein Programm anzugehen ist. "hello
world" und "zählen bis 10" in den Büchern helfen nicht so richtig!
Ich denke, wenn das Kontenplan "Einlese- und Aufbereitungsprogramm"
steht sind die anderen Modifikationen.
Vorsicht Falle:
Daten kommen von Groß-EDV (EBCDIC-Code) und Umlaute seltsam:
RšCKST., das soll RÜCKST. (Rückstellung) heißen
K™ST KÖST (Körperschaftssteuer)
>
>>568213011000 0 9R --> für spätere Statistik, die ersten 3 Felder sind
>>identisch zum Konto
kann erst einmal überlesen werden.
>
>
>>Buchungen eines Jahres (aufgelaufen)
148213018430 99998 311003 000108819 (Sollseite des Kontos)
148213099998 18430 311003 000135425 (Habenseite des Kontos)
1 2 3 4 5 6 7
12345678901234567890123456789012345678901234567890123456789012345678901234567890
llmmmmmnnnnnooooopppppqqqqqrrrrrrssssssttuuuuuuuuuvvvvvvvvvvvvvvvvvvwwxxxxxyyyyy
l = Satzart n
m = Mandant n
n = Konto-Soll n
o = Unterkonto-Soll n
p = Konto-Haben n
q = Unterkonto-Haben n
r = Buchungsdatum n TTMMJJ
s = Belegdatum n TTMMJJ
t = Textschlüssel a
u = Betrag n,2 (num. 2 Nachkommast.)
v = variabler Text a
w = Steuerschlüssel n
x = Kostenart
y = Kostenträger
>>Ich möchte
>>- Dialog zu Einlesen beliebiger Dateien (82130, 42776, etc.) Der Rest
>>der Dateibezeichnung ist festgelegt.
Die Eingabe-Datei für obige Daten heißt FB82130.DAV
> Kein Problem.
>
>
>>- Erstellen einer Datei "Firmenstammsatz"
>>- Erstellen einer Datei "Kontenplan"
>>- Erstellen einer Datei "Buchungen"
>
>
> Auch kein Problem.
>
>
>>- erstellen einer "Saldenliste" Saldenliste ist eine Zeile je Konto
>> Anfangsbestand laut Eröffnungswert im Kontensatz
>> + und - der Bewegungszahlen (aus Buchungen)
>> errechnet: neuer Endwert
Beispiel:
Überschrift: Saldenliste Mandant 82130 vom 31.12.2003, Seite : 1
Konto Bezeichnung Anfangssaldo Umsatz-Soll Umsatz-Haben Endsaldo
ccccc ggg...ggggg hhhhhhhhh,hh uuuuuuu,uu uuuuuuu,uu zzzzzzzzz,zz
wobei h + uS - uH = z ist.
wenn n = 99998, dann ist u = uH,
wenn p = 99998, dann ist u = uS
> sollte auch problemlos möglich sein. Was mir hierbei einfällt: eventuell
> mußt du dir gedanken über Rundungsfehler machen (bezweifle ich aber).
zur Zeit keine Rundungen, da nur Nettobuchungen vorliegen.
Mehrwertsteuer muß nicht herausgerechnet werden.
>
>>zu guterletzt eine Liste:
>>Liste Bilanz (alle Konten haben ein Merkmal "B" in einem Feld)
>>Liste G+V (alle Konten haben *kein* Merkmal "B" in einem Feld)
>
>
> Einfach zu filtern.
>
> [...]
>
>
>>GUI-Änderungsprogramm:
>>- Firmenstammsatz
>>- Konto
>>- Buchungen
>
>
> Ich würde an deiner Stelle erst einmal eine Lösung für die Kommandozeile
> schreiben (sollte nicht zu wild sein) und die GUI hinterher entwickeln.
o.k. Ich wollte gern das Ziel nennen, damit nicht der Weg dahin verbaut ist.
>
> Bitte sende eine E-Mail (wenn möglich mit angepaßter Beschreibung (siehe
> meine Anmerkungen)) *nur* an die Mailingliste. Die Mailingliste ist
> geschlossen, wer dort schreibt, empfängt die Liste auch. Daher ist Cc
> nicht notwendig.
Jetzt ist die Mail doch Mammut.. geworden. Tut mir leid, aber kürzer
konnte ich nicht!
Danke für die Starthilfe! Auf geht's.
MfG Werner
_______________________________________________
python-de maillist - python-de(a)python.net
http://python.net/mailman/listinfo/python-de
[View Less]