Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's documented in PyPy differences, but generally open('x').read() does not guarantee that a file is closed. In CPython it's not a problem due to refcounting, but in pypy, the file might be closed at some later stage. There is additionally a silly low number of open file descriptors, which limits how many files you can have open at once.


> In CPython it's not a problem due to refcounting, but in pypy, the file might be closed at some later stage.

Technically the guarantee in CPython is "soft" so it can be a problem, just rarely is: if the file gets referenced from an object accessible from a cycle the file won't be released (and closed) until the cycle-breaking GC is triggered.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: