Can't create hdf5 file using batch scripts.
13 次查看(过去 30 天)
显示 更早的评论
I'm trying to create an hdf5 file to store many large arrays. When I run my test script the lines,
file_name = strcat('/home/usr/test_results1');
h5create(file_name,'variable',[10, Inf],'ChunkSize',[10 1]);
work just fine. When I execute the script as a batch job I get a failure: "Unable to create file with specified filename. Filename may have unsupported characters".
Any thoughts?
0 个评论
回答(2 个)
per isakson
2017-10-20
编辑:per isakson
2017-10-20
The function, strcat, has no effect in the statement
file_name = strcat('/home/usr/test_results1');
which is equivalent to
file_name = '/home/usr/test_results1';
I guess your problem is caused by the relative path; your current path isn't the same when you run interactively and with the script. The function, cd, shows the current path.
0 个评论
Mohammad Abu Zafer Siddik
2019-8-1
编辑:per isakson
2019-8-2
Hi,
I am getting the same error; Here is my code.
filename='A_B_C_1';
filename_r=fullfile([filename '.h5']);
filename_r(regexp(filename_r,'[_]'))=[]; % remove "_" from filename
fcpl = H5P.create('H5P_FILE_CREATE');
fapl = H5P.create('H5P_FILE_ACCESS');
fileID=H5F.create(filename_r,'H5F_ACC_TRUNC',fcpl,fapl);
Would you guys have any idea how can i solve this issue?
Error:
Error using hdf5lib2
Unable to create file with specified filename. Filename may have unsupported characters.
Error in H5F.create (line 40)
file_id = H5ML.hdf5lib2('H5Fcreate', varargin{:});
Thanks in advance
3 个评论
Walter Roberson
2019-8-2
Instead of using regexp to remove the _ it would seem to make more sense to use
filename_r(filename_r == '_') = [];
Is that the exact filename you are using? The code works on my system.
Mohammad Abu Zafer Siddik
2019-8-2
Thanks Walter, I really appreciate it.
Yes. Sometimes it works sometimes it don't work. Now it works for my system as well.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!