Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4905

Re: [Python-de] Concatenierte Dateien?

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Stefan Behnel <python-de@behnel.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Concatenierte Dateien?
Date Fri, 8 Sep 2017 07:38:59 +0200
Lines 42
Message-ID <mailman.8.1504849328.15585.python-de@python.org> (permalink)
References <87mv66sea9.fsf@gmx.net> <5c49da01-07c7-58aa-afe0-90d4549df7a2@behnel.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de ftG5SSd7aYFubLoF41d3XQS42f831f3KPvQV0XwIvTcg==
Return-Path <python-de@behnel.de>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; t=1504849326; s=domk; d=behnel.de; h=Content-Transfer-Encoding:Content-Language:Content-Type:In-Reply-To: MIME-Version:Date:From:References:To:Subject; bh=6iplNCMDNzuCjm4jOrzTqRvmTXkTFVQe/fnocOCu+QY=; b=eWbt6jZwyn+7JUI+oxshyU8/oEC5LJbfZV3oMc0mwYmbdyPyaphCpVmw3R9xwB+jw4 pueUL4wcXhaDq49hA0bKJd+wRoXpvcglME2mXT7NBQBYfgvx9yKEEVClLQ47qoZ//4FB +sl2sfwNvXUECgLOr1fLkDenKTQIVAkOAKUIw=
X-RZG-AUTH :E1MMdFW4b++AXZOTwA41DOYM0Dv9LNWvavC/fJZqSuoXq8/b35jbpozFABqPas32JtV1DqB2c6dzMEH5xU0GLckio41rC1GsyfQ7vlA=
X-RZG-CLASS-ID mo00
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
In-Reply-To <87mv66sea9.fsf@gmx.net>
Content-Language de-DE
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.24
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <5c49da01-07c7-58aa-afe0-90d4549df7a2@behnel.de>
X-Mailman-Original-References <87mv66sea9.fsf@gmx.net>
Xref csiph.com de.comp.lang.python:4905

Show key headers only | View raw


Hallo Ole!

Оlе Ѕtrеісhеr schrieb am 07.09.2017 um 17:45:
> gibt es eine einfache ("batteries included") Möglichkeit, eine Liste von
> file like objects als ein einziges file like object (zum Lesen) zu
> behandeln? So dass für die ersten bytes das erste Object verwendet wird
> etc.?
> 
> Hintergrund: Ich habe eine Liste von "memoryview"-Objekten, (und
> "String"-Objekten), die recht groß (>>1GB) sind (und aus einem
> memory-mapped file stammen), und die zusammengefügt ein "file like
> object" ergeben sollen.

Ist mir nicht bekannt, und "schnell mal suchen" hat irgendwie auch nichts
gebracht. Nicht einmal in den ActiveState Python Rezepten, die bei solchen
Dingen oft recht gut sind.

Denke aber mal, dass es gar nicht so kompliziert wäre, das selbst zu
schreiben. Gibt die üblichen Sonderfälle zu beachten an den
Dateiübergängen, aber da .read() es erlaubt, weniger Daten zurückzuliefern
als angefragt, sollte auch das nicht allzu komplizert sein.

Klingt für mich nach einem interessanten "Freude-am-Programmieren"-Projekt,
das es verdient hätte, auf PyPI aufzutauchen. :)


> Und wie würde man aus deinem memoryview effektiv die einzelnen Bytes
> bekommen? meoryview.tobytes() erstellt ja offenbar eine Kopie, was nicht
> sehr effektiv ist.

Slicen. Von den Strings würde ich auch erst explizit einen Memoryview
erzeugen, damit du einfach alles effizient und ohne Kopie heraus schneiden
kannst. Der Standardanwendungsfall für deine Klasse wäre ja genau der Fall,
dass die Datenmenge zu groß ist, um einfach alles im Speicher aneinander zu
hängen.

Überhaupt solltest du dir überlegen, ob ein einfaches Slicing-Interface
nicht einfacher (und hübscher?) wäre als ein File-Interface. Allerdings
müsstest du dann Schnittdaten mit der exakten Größe zurückgeben. Kannst ja
mal beides probieren. :)

Stefan

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Concatenierte Dateien? ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2017-09-07 17:45 +0200
  Re: [Python-de] Concatenierte Dateien? Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2017-09-07 18:12 +0200
    Re: [Python-de] Concatenierte Dateien? ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2017-09-07 18:26 +0200
  Re: Concatenierte Dateien? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2017-09-08 03:27 +0200
  Re: [Python-de] Concatenierte Dateien? Stefan Behnel <python-de@behnel.de> - 2017-09-08 07:38 +0200
  Re: [Python-de] Concatenierte Dateien? Dinu Gherman <gherman@darwin.in-berlin.de> - 2017-09-08 08:00 +0200

csiph-web