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


Groups > cz.comp.lang.python > #3378

Re: [python] vytváření souboru

Path csiph.com!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!85.12.16.68.MISMATCH!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx40.am4.POSTED!not-for-mail
Received-SPF none (Address does not pass the Sender Policy Framework) SPF=HELO; sender=mail.unosoft.cz; remoteip=::ffff:37.157.194.86; remotehost=; helo=mail.unosoft.cz; receiver=hugo.zagamma.cz;
Received-SPF neutral (Address does not pass the Sender Policy Framework) SPF=MAILFROM; sender=mtip@atlas.cz; remoteip=::ffff:37.157.194.86; remotehost=; helo=mail.unosoft.cz; receiver=hugo.zagamma.cz;
From mtip <mtip@atlas.cz>
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
MIME-Version 1.0
In-Reply-To <91e6e1de-783c-204a-e623-142dfb2174d8@seznam.cz>
Content-Type text/plain; charset=utf-8
Content-Language cs
Content-Transfer-Encoding 8bit
Received-SPF neutral (Address does not pass the Sender Policy Framework) SPF=FROM; sender=mtip@atlas.cz; remoteip=::ffff:37.157.194.86; remotehost=; helo=mail.unosoft.cz; receiver=hugo.zagamma.cz;
Subject Re: [python] vytváření souboru
X-BeenThere python@py.cz
X-Mailman-Version 2.1.29
Precedence list
List-Id Konference PyCZ <python.py.cz>
List-Unsubscribe <http://www.py.cz/mailman/options/python>, <mailto:python-request@py.cz?subject=unsubscribe>
List-Archive <http://www.py.cz/pipermail/python/>
List-Post <mailto:python@py.cz>
List-Help <mailto:python-request@py.cz?subject=help>
List-Subscribe <http://www.py.cz/mailman/listinfo/python>, <mailto:python-request@py.cz?subject=subscribe>
Newsgroups cz.comp.lang.python
Message-ID <mailman.40.1569305588.5720.python@py.cz> (permalink)
X-Mailman-Original-Message-ID <d34b5ea8-8b38-f92e-4d7d-73a3bb5a8bfd@atlas.cz>
X-Mailman-Original-References <0d7f5d45-81fd-04bc-f481-76f54f6fff52@seznam.cz> <CAK9Q5BSPewM-BLCE1YgO1+v--0mAzfWAhcsXkN9uDaW5UPNxGQ@mail.gmail.com> <62ca6b0a-ad53-0b41-da46-04c192b51813@seznam.cz> <CAK9Q5BTLHiRrh1zXMMXW4KKHxLnN_WR1P9DzFh_B2FdWKB5gBg@mail.gmail.com> <91e6e1de-783c-204a-e623-142dfb2174d8@seznam.cz>
References <0d7f5d45-81fd-04bc-f481-76f54f6fff52@seznam.cz> <CAK9Q5BSPewM-BLCE1YgO1+v--0mAzfWAhcsXkN9uDaW5UPNxGQ@mail.gmail.com> <62ca6b0a-ad53-0b41-da46-04c192b51813@seznam.cz> <CAK9Q5BTLHiRrh1zXMMXW4KKHxLnN_WR1P9DzFh_B2FdWKB5gBg@mail.gmail.com> <91e6e1de-783c-204a-e623-142dfb2174d8@seznam.cz> <d34b5ea8-8b38-f92e-4d7d-73a3bb5a8bfd@atlas.cz>
Lines 102
X-Complaints-To abuse@usenet-news.net
NNTP-Posting-Date Tue, 24 Sep 2019 06:13:08 UTC
Organization usenet-news.net
Date Tue, 24 Sep 2019 08:13:05 +0200
X-Received-Bytes 6455
X-Received-Body-CRC 3988215892
Xref csiph.com cz.comp.lang.python:3378

Show key headers only | View raw


A neukládal si to po netu?

On x86 (32-bit) or IA64 (64-bit) systems, the maximum buffer size is just under 64MB. For X64 systems, the maximum buffer size is just under 32MB.
The maximum unbuffered read and write size limits are imposed by the design of the IO manager inside the Windows executive.
When an application reads or writes files that are opened with FILE_FLAG_NO_BUFFERING,
the IO Manager locks the application's buffer into physical RAM and then maps the virtual addresses into physical addresses
to pass to the disk device by making a memory descriptor list (MDL).
The buffer size limitation comes from the maximum size MDL that the IO Manager will create.
The reason for the difference between platforms is the way the maximum buffer size is calculated from the memory page size and pointer size.
The IO Manager uses the following formula to compute the maximum size MDL:

((65535 - sizeof(MDL)) / sizeof(ULONG_PTR)) * PAGE_SIZE

This formula has the following results:

Processor Page Size Pointer Size MDL calculation
======== ======== ========= =============

x86 (32-bit) 4096 4 bytes ((65535 - 28) / 4) * 4096 = 67076096 bytes (63.97 MB)

IA64 8096 8 bytes ((65535 - 48) / 8) * 8192 = 67051520 bytes (63.95 MB)

X64 4096 8 bytes ((65535 - 48) / 8) * 4096 = 33525760 bytes (32MB - 28K)

This limitation occurs when the file is opened with FILE_FLAG_NO_BUFFERING.

Dne 23.09.2019 v 16:43 zu1234 napsal(a):
> W10 prof 32 bit
> Filesystém NTFS
> Python 2.7.15
> Opakuji: pokud soubor zapisuju po částech, tak bez problému.
> Znovu jsem to zkoušel zapsat vcelku: neprošlo cca 100MB.
> 
> Dne 23.9.2019 v 16:14 Petr Messner napsal(a):
>> Na jakém systému? Linux?
>>
>> Nezapisoval jsi soubor větší než 4 GB na FAT32?
>>
>> Nezapisoval jsi do souboru otevřeném jen pro čtení? 
>>
>> Nejsi na 32bit systému, nebo nemáš spuštěný 32bit Python?
>>
>> Jen tak na zkoušku jsem si v Pythonu 3 zkusil jedním write zapsat 20GB soubor, bez problému.
>>
>> PM
>>
>> po 23. 9. 2019 v 15:59 odesílatel zu1234 <zu1234@seznam.cz <mailto:zu1234@seznam.cz>> napsal:
>>
>>     IOError, 22, Invalid argument
>>
>>
>>
>>     Dne 23.9.2019 v 13:10 Petr Messner napsal(a):
>>>     A jaký byl text toho IOError? To, že to nic neříká tobě, neznamená, že to nevysvětluje tu chybu :)
>>>
>>>     file.write je high level metoda, která volá OS syscall write tolikrát, kolik je potřeba, takže teoreticky jsi omezený jen velikostí RAM.
>>>
>>>     PM
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>     po 23. 9. 2019 v 11:43 odesílatel zu1234 <zu1234@seznam.cz <mailto:zu1234@seznam.cz>> napsal:
>>>
>>>         Při vytváření (binárního) souboru pomocí file.write() jsem se utkal s
>>>         nic neříkající chybou io error ... .
>>>         Nakonec jsem zjistit že větší soubor je nutno zapisovat po částech a ne
>>>         naráz.
>>>         Nenašel jsem jak zjistit jak největší může ta část být.
>>>         Program funguje, ale chtěl bych vědět víc.
>>>         Orientuje se někdo lépe?
>>>         Díky ZU
>>>
>>>
>>>         _______________________________________________
>>>         Python mailing list
>>>         python@py.cz <mailto:python@py.cz>
>>>         http://www.py.cz/mailman/listinfo/python
>>>
>>>         Visit: http://www.py.cz
>>>
>>>
>>>     _______________________________________________
>>>     Python mailing list
>>>     python@py.cz <mailto:python@py.cz>
>>>     http://www.py.cz/mailman/listinfo/python
>>>
>>>     Visit: http://www.py.cz
>>
>>
> 
> 
> _______________________________________________
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> Visit: http://www.py.cz
> 

Back to cz.comp.lang.python | Previous | Next | Find similar


Thread

Re: [python] vytváření souboru mtip <mtip@atlas.cz> - 2019-09-24 08:13 +0200

csiph-web