仅使用zoautil_py模块能否读取数据集成员属性及内容?
仅通过zoautil_py库就可以实现你提到的所有需求,既可以查询数据集、数据集成员的元数据(创建日期、修改日期、大小等),也可以直接读取成员的内部内容。
实现方案说明
- 查询数据集本身的基础属性:调用
datasets.get_attributes()方法,传入数据集名即可获取创建日期、记录格式、数据集类型、占用空间等元数据。 - 查询数据集成员的属性:你之前调用
datasets.list_members()默认只返回成员名称列表,只要补充return_details=True参数,就能拿到每个成员的完整属性,包括创建时间、最后修改时间、成员大小等数据。 - 读取成员内部内容:直接使用
datasets.read()方法,参数传入"数据集名(成员名)"格式的字符串,就能返回成员的完整文本内容。如果查询的是顺序数据集而非分区数据集,不需要指定成员,直接传入数据集名即可读取全部内容。
你可以参考下面的扩展代码实现完整功能:
from zoautil_py import datasets import sys dsname = input("输入分区数据集名称: ") if datasets.exists(dsname): print("数据集存在,开始执行查询") else: sys.exit("数据集不存在,程序退出") # 获取数据集本身的属性 ds_attr = datasets.get_attributes(dsname) print(f"数据集创建日期:{ds_attr.creation_date}") print(f"数据集最后修改日期:{ds_attr.modification_date}") print(f"数据集记录格式:{ds_attr.record_format}") # 带详细属性获取所有成员 members = datasets.list_members(dsname, return_details=True) for member in members: print(f"\n===== 成员 {member.name} 信息 =====") print(f"成员创建日期:{member.creation_date}") print(f"成员最后修改日期:{member.modification_date}") print(f"成员占用大小:{member.size} 字节") # 读取成员内容 content = datasets.read(f"{dsname}({member.name})") print("内容预览:") print(content[:200] if len(content) > 200 else content)
内容的提问来源于stack exchange,提问作者Fnechz
相关产品推荐
相关产品推荐

