Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #26238
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2012-07-30 02:50 -0700 |
| References | <98f9b4a6-b797-40f3-a919-89c2d4fb4496@googlegroups.com> <mailman.2692.1343574970.4697.python-list@python.org> |
| Subject | Re: newbie: write content in a file (server-side) |
| From | Thomas Kaufmann <tokauf@googlemail.com> |
| Message-ID | <mailman.2721.1343641814.4697.python-list@python.org> (permalink) |
Am Sonntag, 29. Juli 2012 17:16:11 UTC+2 schrieb Peter Otten:
> Thomas Kaufmann wrote:
>
>
>
> > I send from a client file content to my server (as bytes). So far so good.
>
> > The server receives this content complete. Ok. Then I want to write this
>
> > content to a new file. It works too. But in the new file are only the
>
> > first part of the whole content.
>
> >
>
> > What's the problem.
>
>
>
> > Here's my server code:
>
>
>
> > while True:
>
> > bytes = self.request.recv(4096)
>
> > if bytes:
>
> > s = bytes.decode("utf8")
>
> > print(s)
>
> > li = s.split("~")
>
> > with open(li[0], 'w') as fp:
>
> > fp.write(li[1])
>
>
>
> - Do you ever want to leave the loop?
>
>
>
> - You calculate a new filename on every iteration of the while loop --
>
> probably not what you intended to do.
>
>
>
> - The "w" argument tells Python to overwrite the file if it exists. You
>
> either need to keep the file open (move the with... out of the loop) or open
>
> it with "a".
>
>
>
> - You may not receive the complete file name on the first iteration of the
>
> while loop.
>
>
>
> - The bytes buffer can contain incomplete characters, e. g.:
>
>
>
> >>> data = b"\xc3\xa4"
>
> >>> data.decode("utf-8")
>
> 'รค'
>
> >>> data[:1].decode("utf-8")
>
> Traceback (most recent call last):
>
> File "<stdin>", line 1, in <module>
>
> UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 0:
>
> unexpected end of data
Thanks Peter. It helps;-).
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
newbie: write content in a file (server-side) Thomas Kaufmann <tokauf@googlemail.com> - 2012-07-29 07:16 -0700
Re: newbie: write content in a file (server-side) Peter Otten <__peter__@web.de> - 2012-07-29 17:16 +0200
Re: newbie: write content in a file (server-side) Thomas Kaufmann <tokauf@googlemail.com> - 2012-07-30 02:50 -0700
Re: newbie: write content in a file (server-side) Thomas Kaufmann <tokauf@googlemail.com> - 2012-07-30 02:50 -0700
Re: newbie: write content in a file (server-side) Thomas Kaufmann <tokauf@googlemail.com> - 2012-07-30 02:51 -0700
csiph-web