Comments (4)
You can use a with block, but it needs to be active as long as you need access to the data. (The data is memmapped and the memmap handles are closed at the same time as the file handle). You can also use an explicit close
if that's easier.
from asdf.
Right. I knew that. Sorry about the noise.
from asdf.
I think there should still be more control over this kind of thing. PyFITS deliberately leaves the mmaps open because it's an implementation detail which most users won't even tend to understand, and not allowing this to work I think discourages use of the with
statement by users in many cases (for read-only applications it doesn't matter, but there are plenty of write applications where it would be good to use with
).
Of course, PyFITS has the opposite problem where users think they've closed the file but they really haven't. I think both should have some way to control this better (but I lean toward leaning mmaps open except when the user has explicitly requested to close them as well).
from asdf.
Yeah -- there's sort of no perfect option here. A kwarg to indicate whether to close the mmaps automatically might be helpful, though.
from asdf.
Related Issues (20)
- asdf does not follow version conventions defined in standard HOT 4
- Add/check Python array API standard support
- Re-add pyyaml to devdeps testing when it gets cython 3 compatibility
- Recommendations on future usage of ASDF-in-FITS HOT 4
- 'Validator' object has no attribute 'ctx' HOT 2
- Move IntegerType to a Converter
- Remove internal use of legacy extension API
- Make `SerializationContext` "closable"
- Document different behavior for built-in tags now handled by converters
- Consider sorting extensions provided by a plugin
- Document that adding a converter that doesn't support a tag in an extension will result in the converter being ignored
- No longer warn but raise an exception for converters with more than 1 tag that don't implement select tag
- Python 3.12 compatibility HOT 2
- Unable to load reference cycles HOT 1
- Support MaskedQuantity HOT 1
- asdf.commands.diff will report that contents differ for any arrays including NaNs HOT 1
- Consider inspecting modules for class paths
- Saving views results in saving the base array HOT 10
- Add `AsdfFile.closed` to the api
- minor code smells in static code analysis HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asdf.