簡體   English   中英

如何修復“HDF5-DIAG:錯誤無法打開文件”?

[英]How to fix “HDF5-DIAG: Error unable to open file”?

嘗試運行 MEEP 模擬時出現以下錯誤:

HDF5-DIAG: Error detected in HDF5 (1.10.5) thread 0:
  #000: H5F.c line 509 in H5Fopen(): unable to open file
    major: File accessibilty
    minor: Unable to open file
  #001: H5Fint.c line 1498 in H5F_open(): unable to open file: time = Fri Nov 15 16:56:54 2019
, name = '*.h5', tent_flags = 0
    major: File accessibilty
    minor: Unable to open file
  #002: H5FD.c line 734 in H5FD_open(): open failed
    major: Virtual File Layer
    minor: Unable to initialize object
  #003: H5FDsec2.c line 346 in H5FD_sec2_open(): unable to open file: name = '*.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0
    major: File accessibilty
    minor: Unable to open file
h5topng error: error opening HD5 file
rm: *.h5: No such file or directory

有人可以告訴我如何解決這個/理解錯誤嗎?

提前致謝

免責聲明:我從未與 MEEP 合作過。

該錯誤似乎表明該文件不存在:

#003: H5FDsec2.c line 346 in H5FD_sec2_open(): unable to open file: name = '*.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0

所以這似乎是核心問題。 再往下看,似乎傳遞給H5FD_sec2_open()的文件名是*.h5 ,這很可能是一個無效的文件名。 我希望您想將諸如foo.h5relative/path/to/foo.h5/absolute/path/to/foo.h5之類的東西傳遞給H5FD_sec2_open() function。

通配符通常不被這些函數處理/解釋。 這是一個更高級別的概念,需要“更多的文件系統訪問權限”才能對其進行任何有用的操作,因為接收該通配符的人必須獲取文件和目錄列表並找出哪些文件系統條目與該通配符匹配。

因此,我的回答是:確保將有效的文件路徑傳遞給打開 function 的相應文件。 此外,您可能希望擴展您的程序,以便它在將其傳遞給相應的 MEEP function 之前檢查它是否是有效文件,這使您可以更好地控制錯誤和用戶反饋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM