Face-Recognition/test_npy.py

48 lines
1.3 KiB
Python

import numpy as np
import numpy.lib.format as fmt
import argparse
import os
import sys
def main():
parser = argparse.ArgumentParser(description="讀取 .npy 檔並輸出內容 (診斷模式)")
parser.add_argument("npy_path", help="要讀取的 .npy 檔案路徑")
args = parser.parse_args()
npy_path = args.npy_path
if not os.path.isfile(npy_path):
print(f"Error: 檔案不存在:{npy_path}")
sys.exit(1)
size = os.path.getsize(npy_path)
print(f"File size: {size} bytes")
if size == 0:
print("Error: 檔案是空的,請確認產生並儲存時沒有錯誤。")
sys.exit(1)
# 嘗試只讀 header
with open(npy_path, 'rb') as f:
try:
version = fmt.read_magic(f)
header = fmt._read_array_header(f, version)
print("成功讀取 header:", header)
except Exception as e:
print("讀 header 失敗:", e)
try:
data = np.load(npy_path, allow_pickle=True)
except Exception as e:
print(f"載入失敗:{e}")
sys.exit(1)
print(f"Loaded data from: {npy_path}")
print(f"Data type: {type(data)}")
if isinstance(data, np.ndarray):
print(f"Array shape: {data.shape}")
print(f"Array dtype: {data.dtype}")
print("Contents:")
print(data)
if __name__ == "__main__":
main()