diff --git a/parser/parser-lammps/LammpsDataParser.py b/parser/parser-lammps/LammpsDataParser.py index d8fc1a6d6d87a1a958164e41c55aa3d7ef0c9e8e..02973ead9d2ad282b94d4c9cdc28bfc2ac391282 100644 --- a/parser/parser-lammps/LammpsDataParser.py +++ b/parser/parser-lammps/LammpsDataParser.py @@ -5,6 +5,8 @@ import os import sys import operator +# Python 2 compability +from io import open from LammpsCommon import get_metaInfo from nomadcore.caching_backend import CachingLevel @@ -608,7 +610,11 @@ class LammpsDataParserContext(object): xyz_file.append(xyz_line) atomLabelling.append(xyz_line) - with open(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.argv[1])), 'generated_from_data_file.xyz')), 'w', encoding = 'latin-1') as xyz: + mode = 'w' + if sys.version_info.major < 3: + mode += 'b' + + with open(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.argv[1])), 'generated_from_data_file.xyz')), mode) as xyz: xyz.writelines(' '.join(str(j) for j in i) + '\n' for i in xyz_file) # WRITE XYZ ATOMIC NUMBER AND COORDINATES @@ -688,8 +694,12 @@ class LammpsDataParserContext(object): xyz_line = [mass_xyz[index-1], float(line[4]), float(line[5]), float(line[6])] xyz_file.append(xyz_line) atomLabelling.append(xyz_line) - - with open(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.argv[1])), 'generated_from_data_file.xyz')), 'w', encoding = 'latin-1') as xyz: + + mode = 'w' + if sys.version_info.major < 3: + mode += 'b' + + with open(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.argv[1])), 'generated_from_data_file.xyz')), mode) as xyz: xyz.writelines(' '.join(str(j) for j in i) + '\n' for i in xyz_file) # WRITE XYZ ATOMIC NUMBER AND COORDINATES return charge_dict, charge_list, mass_dict, mass_list, mass_xyz, new_mass_list, atomLabelling