Path: csiph.com!usenet.pasdenom.info!news.etla.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'granted,': 0.07; 'calls.': 0.09; 'filename': 0.09; 'latter': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'python': 0.11; 'books': 0.15; 'amiga': 0.16; 'descriptor.': 0.16; 'file;': 0.16; 'manuals.': 0.16; 'mode,': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'roy': 0.16; 'source"': 0.16; 'storing': 0.16; 'sure.': 0.16; 'wrote:': 0.18; '(but': 0.19; 'file,': 0.19; 'programming': 0.22; 'separate': 0.22; 'creating': 0.23; 'url:home': 0.24; 'task': 0.26; 'header:X-Complaints-To:1': 0.27; 'record': 0.27; 'code': 0.31; '(although': 0.31; 'layer': 0.31; 'libraries': 0.31; 'file': 0.32; 'open': 0.33; 'fri,': 0.33; 'implemented': 0.33; 'position.': 0.33; '"the': 0.34; "can't": 0.35; 'there': 0.35; 'really': 0.36; 'real-time': 0.36; 'useful': 0.36; 'charset:us-ascii': 0.36; 'received:76': 0.38; 'actions': 0.38; 'to:addr:python-list': 0.38; 'files': 0.38; '(from': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'most': 0.60; 'length': 0.61; 'simple': 0.61; 'information': 0.63; 'such': 0.63; 'more': 0.64; 'within': 0.65; 'nobody': 0.68; 'smith': 0.68; 'article': 0.77; 'subject:skip:o 10': 0.84; '2013': 0.98 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Dennis Lee Bieber Subject: Re: object.enable() anti-pattern Date: Sat, 11 May 2013 15:24:23 -0400 Organization: > Bestiaria Support Staff < References: <518a123c$0$11094$c3e8da3@news.astraweb.com> <518b32ef$0$11120$c3e8da3@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: adsl-76-253-105-168.dsl.klmzmi.sbcglobal.net X-Newsreader: Forte Agent 3.3/32.846 X-No-Archive: YES X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 30 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1368300272 news.xs4all.nl 15923 [2001:888:2000:d::a6]:45275 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:45147 On Fri, 10 May 2013 13:32:50 -0400, Roy Smith declaimed the following in gmane.comp.python.general: > In article , > Nobody wrote: > > > However: there are situations where it is useful to be able to separate > > the simple task of creating an object from more invasive actions such as > > system calls. Particularly in multi-threaded or real-time code (although > > the latter is a non-starter in Python for many other reasons). > > Sure. I can serialize a path name. I can't serialize an open file > descriptor. I really need to pull a few books out of storage... My Amiga RKMs, and my LS-DOS 6 "The Source" and programming manuals. As I recall, the LS-DOS system calls for I/O crossed your line about serialization... The file control block of an open file contained the information about record length (from the directory), mode, and current position. If one closed the file, the FCB contained the filename Granted, that system used a single layer directory (but did have a utility that allowed for "partitioned data sets" -- a way of storing multiple files within one larger file; most of the system libraries were implemented that way). -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/