uchicago-cs / deepdish

Flexible HDF5 saving/loading and other data science tools from the University of Chicago
http://deepdish.io
BSD 3-Clause "New" or "Revised" License
271 stars 60 forks source link

Issues with saving files with German Umlaut #39

Open anki-xyz opened 5 years ago

anki-xyz commented 5 years ago

When saving files with deepdish, I cannot save in folders (files are ok) containing German umlaut:

import deepdish as dd
# works
dd.io.save(r"D:\Tmp\aeoeue\Test_öäü.h5", {'a': list(range(10))})
# does not work
dd.io.save(r"D:\Tmp\äöü\Test_öäü.h5", {'a': list(range(10))})

Resulting in this error:

---------------------------------------------------------------------------
HDF5ExtError                              Traceback (most recent call last)
<ipython-input-10-c262766a8bba> in <module>()
      2 dd.io.save(r"D:\Tmp\aeoeue\Test_öäü.h5", {'a': list(range(10))})
      3 # does not work
----> 4 dd.io.save(r"D:\Tmp\äöü\Test_öäü.h5", {'a': list(range(10))})

~\AppData\Local\Continuum\anaconda3\lib\site-packages\deepdish\io\hdf5io.py in save(path, data, compression)
    571     filters = _get_compression_filters(compression)
    572 
--> 573     with tables.open_file(path, mode='w') as h5file:
    574         # If the data is a dictionary, put it flatly in the root
    575         group = h5file.root

~\AppData\Local\Continuum\anaconda3\lib\site-packages\tables\file.py in open_file(filename, mode, title, root_uep, filters, **kwargs)
    318 
    319     # Finally, create the File instance, and return it
--> 320     return File(filename, mode, title, root_uep, filters, **kwargs)
    321 
    322 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\tables\file.py in __init__(self, filename, mode, title, root_uep, filters, **kwargs)
    782 
    783         # Now, it is time to initialize the File extension
--> 784         self._g_new(filename, mode, **params)
    785 
    786         # Check filters and set PyTables format version for new files.

tables\hdf5extension.pyx in tables.hdf5extension.File._g_new()

HDF5ExtError: HDF5 error back trace

  File "C:\ci\hdf5_1525883595717\work\src\H5F.c", line 445, in H5Fcreate
    unable to create file
  File "C:\ci\hdf5_1525883595717\work\src\H5Fint.c", line 1461, in H5F_open
    unable to open file: time = Thu May  2 10:57:31 2019
, name = 'D:\Tmp\äöü\Test_öäü.h5', tent_flags = 13
  File "C:\ci\hdf5_1525883595717\work\src\H5FD.c", line 733, in H5FD_open
    open failed
  File "C:\ci\hdf5_1525883595717\work\src\H5FDsec2.c", line 346, in H5FD_sec2_open
    unable to open file: name = 'D:\Tmp\äöü\Test_öäü.h5', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 302

End of HDF5 error back trace

Unable to open/create file 'D:\Tmp\äöü\Test_öäü.h5'

As far as I can understand it is an issue with PyTables / h5py? But I am just using deepdish.