diff --git a/dpdata/deepmd/comp.py b/dpdata/deepmd/comp.py index 3687d944e..449da62e6 100644 --- a/dpdata/deepmd/comp.py +++ b/dpdata/deepmd/comp.py @@ -22,7 +22,7 @@ def to_system_data(folder, # data is empty data = load_type(folder, type_map = type_map) data['orig'] = np.zeros([3]) - sets = glob.glob(os.path.join(folder, 'set.*')) + sets = sorted(glob.glob(os.path.join(folder, 'set.*'))) all_cells = [] all_coords = [] all_eners = [] @@ -61,7 +61,7 @@ def dump(folder, comp_prec = np.float32, remove_sets = True) : os.makedirs(folder, exist_ok = True) - sets = glob.glob(os.path.join(folder, 'set.*')) + sets = sorted(glob.glob(os.path.join(folder, 'set.*'))) if len(sets) > 0: if remove_sets : for ii in sets : diff --git a/dpdata/system.py b/dpdata/system.py index 167c29b47..1816c835a 100644 --- a/dpdata/system.py +++ b/dpdata/system.py @@ -1037,8 +1037,8 @@ def has_virial(self) : @register_from_funcs.register_funcs('cp2k/aimd_output') def from_cp2k_aimd_output(self, file_dir): - xyz_file=glob.glob("{}/*pos*.xyz".format(file_dir))[0] - log_file=glob.glob("{}/*.log".format(file_dir))[0] + xyz_file=sorted(glob.glob("{}/*pos*.xyz".format(file_dir)))[0] + log_file=sorted(glob.glob("{}/*.log".format(file_dir)))[0] for info_dict in Cp2kSystems(log_file, xyz_file): l = LabeledSystem(data=info_dict) self.append(l) @@ -1380,11 +1380,11 @@ def from_file(cls,file_name,fmt): return multi_systems @classmethod - def from_dir(cls,dir_name, file_name, fmt='auto'): + def from_dir(cls,dir_name, file_name, fmt='auto', type_map=None): multi_systems = cls() - target_file_list = glob.glob('./{}/**/{}'.format(dir_name, file_name), recursive=True) + target_file_list = sorted(glob.glob('./{}/**/{}'.format(dir_name, file_name), recursive=True)) for target_file in target_file_list: - multi_systems.append(LabeledSystem(file_name=target_file, fmt=fmt)) + multi_systems.append(LabeledSystem(file_name=target_file, fmt=fmt, type_map=type_map)) return multi_systems